Submeter | Todas submissőes | Melhores | Voltar |
EDUPT03 - Parentização de expressões |
O uso de pilhas é comum para determinar a corretude da parentização de uma expressão.Dada uma expressão, mostre uma mensagem informando se a parentização da expressão está correta ou incorreta, sem se importar com o restante da expressão.
Exemplos:
a+(b*c)-2-a correta
(a+b*(2-c)-2+a)*2 correta
() correta
(a*b-(2+c) incorreta
2*(3-a)) incorreta
)3+b*(2-c)( incorreta
Resumindo, todos os parênteses de fechamento devem ter um parêntese de abertura e não é possível fechar um parentêse sem antes abrir um parêntese, e a quantidade de
parênteses de fechamento e abertura deve ser a mesma. Observação, a solução deve ser construída com uma pilha.
Entrada
A primeira linha da entrada contém N (1 <= N <= 10000), que é a quantidade de casos de teste.
A seguir há N linhas de casos de teste, que são expressões parentizadas, cada uma com até 1000 caracteres, sem espaços.
Saída
A saída deve ser correta ou incorreta seguida de \n' para cada caso de teste de acordo com as regras acima.
Exemplo de entrada
5
a+(b*c)-2-a
(a+b*(2-c)-2+a)*2
(a*b-(2+c)
2*(3-a))
)3+b*(2-c)(
Exemplo de saída
correta
correta
incorreta
incorreta
incorreta
O uso de pilhas é comum para determinar a corretude da parentização de uma expressão.Dada uma expressão, mostre uma mensagem informando se a parentização da expressão está correta ou incorreta, sem se importar com o restante da expressão. Resumindo, todos os parênteses de fechamento devem ter um parêntese de abertura e não é possível fechar um parentêse sem antes abrir um parêntese, e a quantidade de parênteses de fechamento e abertura deve ser a mesma. Observação, a solução deve ser construída com uma pilha.
Entrada
A primeira linha da entrada contém N (1 <= N <= 10000), que é a quantidade de casos de teste. A seguir há N linhas de casos de teste, que são expressões parentizadas, cada uma com até 1000 caracteres, sem espaços.
Saída
A saída deve ser correta ou incorreta seguida de \n' para cada caso de teste de acordo com as regras acima.
Exemplo
Entrada | Saída |
5 a+(b*c)-2-a (a+b*(2-c)-2+a)*2 (a*b-(2+c) 2*(3-a)) )3+b*(2-c)(
|
correta
correta
incorreta
incorreta
incorreta
|
Adicionado por: | IFTM_Maratona |
Data: | 2022-06-15 |
Tempo limite: | 10s |
Tamanho do fonte: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Linguagem permitida: | C C99 |
Origem: | Traduzido de Neilor Tonin |