27a Olimpíada Brasileira de Informática
Chaves
Seu amigo Juca está enfrentando problemas com programação. Na linguagem C, algumas partes do código devem ser colocadas entre chaves "\ \" e ele frequentemente esquece de colocá-las ou as coloca de forma errada. Porém, como Juca tem dificuldade para entender os erros de compilação, ele nunca sabe exatamente o que procurar. Por isso ele te pediu para fazer um programa que determine se um código está com as chaves balanceadas, ou seja, se é válido. Um código está com as chaves balanceadas se:- Não há chaves (como por exemplo "Bom" ou "Correto");
- O código é composto por uma sequência de códigos válidos (como por exemplo "Bom Correto" ou "\\\\" ou "\\Correto"); ou
- O código é formado por um código válido entre chaves (como por exemplo "\\\\" ou "\Bom\").
Entrada
A primeira linha contém um inteiro N, representando o número de linhas no código. As N linhas seguintes contém até 100 caracteres.Saída
Seu programa deve produzir uma única linha, contendo uma única letra, "S" se o código está com as chaves balanceadas e "N", caso contrário.Restrições
- 1 ≤ N ≤ 103.
Informações sobre a pontuação
- Em um conjunto de casos de teste equivalente a 50 pontos, N = 1 e todos os carateres são "\" ou "\" (como no terceiro exemplo).
Exemplos
Entrada
6
int main(void)
{
printf("Hello World\n");
}
|
Saída
S |
Entrada
5
{I{N{
}F{])
}O}R{
}M}A{T}I{C@!!{onze}!!}
|
Saída
S |
Entrada
1
{{}}{{}}}
|
Saída
N |
Entrada
1
{{{3}}}{{{2}}a{{1}}{0}
|
Saída
N |