Difference between revisions of "Problema do teste oftálmico para programadores"

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
(Saída)
(Formato da entrada)
Line 19: Line 19:
 
*Uma linha contendo um inteiro N representado quantidade de linhas e colunas da matriz quadrada M.
 
*Uma linha contendo um inteiro N representado quantidade de linhas e colunas da matriz quadrada M.
 
*N linhas contendo os elementos de cada linha de M.
 
*N linhas contendo os elementos de cada linha de M.
 +
 +
Várias entradas podem ser inseridas até que N seja zero. As respostas devem ser informadas após a inserção da última linha de cada matriz.
  
 
=== Formato de saída ===
 
=== Formato de saída ===

Revision as of 04:51, 3 June 2009

Dificuldade Única

O cientísta Oculam resolveu desenvolver um teste oftálmico para programadores de computador. Neste teste um bloco de código está escrito em espiral. Por exemplo, o código IF(A==1)B=(1+2); no teste estaria representado da seguinte forma:

IF(A
1+2=
(;)=
=B)1

O objetivo do programador no teste é identificar se a colocação dos parênteses está correta, ou seja, se

  • todo parêntese aberto é fechado;
  • nenhum parêntese é fechado sem outro ser aberto antes.

Nenhum outro aspecto da sintaxe da linguagem é importante.

Faça um programa capaz de dar o gabarito de um teste a partir de uma matriz NxN.

A entrada e a saída serão as padrões (stdin,stdout).

Formato da entrada

  • Uma linha contendo um inteiro N representado quantidade de linhas e colunas da matriz quadrada M.
  • N linhas contendo os elementos de cada linha de M.

Várias entradas podem ser inseridas até que N seja zero. As respostas devem ser informadas após a inserção da última linha de cada matriz.

Formato de saída

Uma única linha contendo a palavra OK, caso os parênteses estejam postos corretamente ou a palavra ERRO, caso contrário.

Exemplos

Entrada 1

4
IF(A
1+2=
(;)=
=B)1

Saída 1

OK

Entrada 2

4
IF)A
1+2=
(;(=
=B)1

Saída 2

ERRO

Entrada 3

1
A

Saída 3

OK

Entrada 4

1
(

Saída 4

ERRO

Entrada 5

3
)))
ABC
(((

Saída 5

ERRO

Entrada 6

3
(((
ABC
)))

Saída 6

OK

Entrada 7

3
(()
ABC
))(

Saída 7

OK