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...)
 
(Formato da entrada)
 
(3 intermediate revisions by the same user not shown)
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 ===
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 32: Line 34:
 
  =B)1
 
  =B)1
  
==== Saída ====
+
==== Saída 1 ====
 
  OK
 
  OK
  
=== Entrada 2 ===
+
==== Entrada 2 ====
 
  4
 
  4
 
  IF)A
 
  IF)A
Line 42: Line 44:
 
  =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 67:
 
  (((
 
  (((
  
=== Saída 5 ===
+
==== Saída 5 ====
 
  ERRO
 
  ERRO
  
=== Entrada 6 ===
+
==== Entrada 6 ====
 
  3
 
  3
 
  (((
 
  (((
Line 74: Line 76:
 
  )))
 
  )))
  
=== Saída 6 ===
+
==== Saída 6 ====
 
  OK
 
  OK
  
=== Entrada 7 ===
+
==== Entrada 7 ====
 
  3
 
  3
 
  (()
 
  (()
Line 83: Line 85:
 
  ))(
 
  ))(
  
=== Saída 7 ===
+
==== Saída 7 ====
 
  OK
 
  OK

Latest revision as of 04:52, 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