Difference between revisions of "Problema do teste oftálmico para programadores"
From AdonaiMedrado.Pro.Br
(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 | + | 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
Contents
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