pesquisa

URI PROBLEMA 1068 - Balanço de Parênteses I SOLUÇÃO EM PYTHON

URI Online Judge | 1068

Balanço de Parênteses I

Por Neilor Tonin, URI  Brasil
Timelimit: 1
Dada uma expressão qualquer com parênteses, indique se a quantidade de parênteses está correta ou não, sem levar em conta o restante da expressão. Por exemplo:
a+(b*c)-2-a        está correto
(a+b*(2-c)-2+a)*2  está correto
enquanto
(a*b-(2+c)         está incorreto
2*(3-a))           está incorreto
)3+b*(2-c)(        está incorreto
Ou seja, todo parênteses que fecha deve ter um outro parênteses que abre correspondente e não pode haver parênteses que fecha sem um previo parenteses que abre e a quantidade total de parenteses que abre e fecha deve ser igual.

Entrada

Como entrada, haverá expressões (1 <= <= 10000), cada uma delas com até 1000 caracteres.

Saída

O arquivo de saída deverá ter a quantidade de linhas correspondente ao arquivo de entrada, cada uma delas contendo as palavras correct ou incorrect de acordo com as regras acima fornecidas.




while True:
    try:
        p = input()
        d = 0
        for i in range(len(p)):
            if(p[i]=='('):
                d += 1
            elif(p[i]==')'):
                d -= 1
            if(d < 0):
                break
        if(d != 0):
            print('incorrect')
        else:
            print('correct')
       
    except EOFError:
        break

Postar um comentário

0 Comentários