Ministério da Educação
Brasil um país de todos
Personal tools
You are here: Home Members Rodrigo Soares Laboratório de programação Exercícios 2015.1 Exercício 7
Navigation
Log in


Forgot your password?
 
Document Actions

Exercício 7

by Rodrigo Soares last modified 2015-06-05 06:05

As expressões de Juvenal

Juvenal gosta bastante de teoria da computação e matemática. Como passatempo, ele decidiu implementar um gerador de expressões matemáticas. O gerador de expressões que ele criou funciona em duas fases. Na primeira fase é gerada uma cadeia de caracteres que contém apenas os caracteres `{', `[', `(', `}', `]' e `)'. Na segunda fase, o gerador adiciona os números e operadores na estrutura criada na primeira fase. Uma cadeia de caracteres é dita bem definida (ou válida) se atende as seguintes propriedades:

1. Ela é uma cadeia de caracteres vazia (não contém nenhum caractere).

2. Ela é formada por uma cadeia bem definida envolvida por parênteses, colchetes ou chaves. Portanto, se a cadeia S é bem definida, então as cadeias (S), [S] e {S} também são bem definidas.

3. Ela é formada pela concatenação de duas cadeias bem definidas. Logo, se as cadeias X e Y são bem definidas, a cadeia XY é bem definida.

Depois que Juvenal gerou algumas expressões matemáticas, ele percebeu que havia algum erro na primeira fase do gerador. Algumas cadeias não eram bem definidas. Ele quer começar a resolver as expressões o mais rápido possível, e sabendo que você é um ótimo programador, resolveram pedir que você escreva um programa que dadas várias cadeias geradas na primeira fase, determine quais delas são bem definidas e quais não são.

Entrada

A entrada é composta por diversas instâncias. A primeira linha da entrada contém um inteiro T indicando o número de instâncias. Em seguida temos T linhas, cada uma com uma cadeia A.

Saída

Para cada instância imprima uma linha contendo a letra S se a cadeia é bem definida, ou a letra N caso contrário.

Restrições

1≤ T ≤20.

a cadeia de caracteres A tem entre 1 e 100000 caracteres.

a cadeia de caracteres A contém apenas caracteres `{', `[', `(', `}', `]' e `)'.

Exemplos

Entrada

12
()
[]
{}
(]
}{
([{}])
{}()[]
()]
{[]
(
(([{}{}()[]])(){}){}
(((((((((({([])}])))))))))

Saída

S
S
S
N
N
S
S
N
N
N
S
N
\\cursor aqui


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: