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

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
(New page: == 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 exempl...)
 
Line 21: Line 21:
  
 
=== Formato de saída ===
 
=== 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).
+
Uma única linha contendo a palavra OK, caso os parênteses estejam postos corretamente ou a palavra ERRO, caso contrário.
  
 
=== Exemplos ===
 
=== Exemplos ===
Line 35: Line 35:
 
  OK
 
  OK
  
=== Entrada 2 ===
+
==== Entrada 2 ====
 
  4
 
  4
 
  IF)A
 
  IF)A
Line 42: Line 42:
 
  =B)1
 
  =B)1
  
=== Saída 2 ===
+
==== Saída 2 ====
 
  ERRO
 
  ERRO
  
=== Entrada 3 ===
+
==== Entrada 3 ====
 
  1
 
  1
 
  A
 
  A
  
=== Saída 3 ===
+
==== Saída 3 ====
 
  OK
 
  OK
  
=== Entrada 4 ===
+
==== Entrada 4 ====
 
  1
 
  1
 
  (
 
  (
  
=== Saída 4 ===
+
==== Saída 4 ====
 
  ERRO
 
  ERRO
  
=== Entrada 5 ===
+
==== Entrada 5 ====
 
  3
 
  3
 
  )))
 
  )))
Line 65: Line 65:
 
  (((
 
  (((
  
=== Saída 5 ===
+
==== Saída 5 ====
 
  ERRO
 
  ERRO
  
=== Entrada 6 ===
+
==== Entrada 6 ====
 
  3
 
  3
 
  (((
 
  (((
Line 74: Line 74:
 
  )))
 
  )))
  
=== Saída 6 ===
+
==== Saída 6 ====
 
  OK
 
  OK
  
=== Entrada 7 ===
+
==== Entrada 7 ====
 
  3
 
  3
 
  (()
 
  (()
Line 83: Line 83:
 
  ))(
 
  ))(
  
=== Saída 7 ===
+
==== Saída 7 ====
 
  OK
 
  OK

Revision as of 22:32, 29 November 2008

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.

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

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