Diamantes e Areia: João está trabalhando em uma mina, tentando retirar o máximo que consegue de diamantes "<>". Ele deve excluir todas as particulas de areia "." do processo e a cada retirada de diamante, novos diamantes poderão se formar. Se ele tem como uma entrada .<...<<..>>....>....>>>., três diamantes são formados. O primeiro é retirado de <..>, resultando .<...<>....>....>>>. Em seguida o segundo diamante é retirado, restando .<.......>....>>>. O terceiro diamante é então retirado, restando no final .....>>>., sem possibilidade de extração de novo diamante.
Entrada
Deve ser lido um valor inteiro N que representa a quantidade de casos de teste. Cada linha a seguir é um caso de teste que contém até 1000 caracteres, incluindo "<,>, ."
Saída
Você deve imprimir a quantidade de diamantes possíveis de serem extraídos em cada caso de entrada.
OBS – Deve ser utilizado pilha.
Eu fiz o codigo mas não esta dando certo. Quando eu coloco >< ele também conta como um diamante
Se alguém puder me ajudar.
#include <cstdio>
#include <cstring>
int main ()
{
int q, w, guaxima, greater, liryus;
char lista[1001];
scanf("%d", &q);
while (q--)
{
scanf("%s", lista);
guaxima = greater = liryus = 0;
for (w=0; w<strlen(lista); w++)
{
if (lista[w] == '<')
{
guaxima++;
}
else
if (lista[w] == '>')
{
if (guaxima > 0)
{
liryus++;
guaxima--;
}
}
}
printf("%d\n", liryus);
}
return 32768;
}