Skip to main content

URI Online Judge Solution 1068 Parenthesis Balance I


URI Online Judge Solution 1068 Parenthesis Balance I using Python Programming Language.
Considering an expression with parenthesis, print a message informing if the among of parenthesis is correct or incorrect, without considering the rest of the expression. Example:

a+(b*c)-2-a        is correct
(a+b*(2-c)-2+a)*2  is correct

when
(a*b-(2+c)         is incorrect
2*(3-a))           is incorrect
)3+b*(2-c)(        is incorrect
Resuming, all closing parenthesis must have an open parenthesis and it's not possible a closing parenthesis without a previous open parenthesis, and the quantity of closing and open parenthesis must be the same.

Input

The input file contains expressions (1 <= <= 10000), each one with up to 1000 characters. 

Output

The output must be correct or incorrect for each test case according with above rules.
Input SampleOutput Sample
a+(b*c)-2-a
(a+b*(2-c)-2+a)*2
(a*b-(2+c)
2*(3-a))
)3+b*(2-c)( 
correct
correct
incorrect
incorrect
incorrect

Solution using Python :

while True:
    try:
        List1 = input()
        List2 = []
        correct = False
        P1 = 0
        P2 = 0
        for v in List1:
            if (v == '('):
                P1 += 1
                List2.append(v)
            if (v == ')'):
                P2 += 1
                List2.append(v)
        if(len(List2)%2 != 0):
            correct = False
        else:
            if(List2[0] == ')'):
                correct = False
            else:
                if (List2[len(List2) - 1] == '('):
                    correct = False
                else:
                    if (P1 != P2):
                        correct = False
                    else:
                        correct = True
        if(correct):
            print("correct")
        else:
            print("incorrect")
    except (EOFError):
        break

Comments

Popular posts from this blog

URI Problem 1001 Solution Extremely Basic - - URI Online Judge Solution

URI Online Judge Problem 1001 Extremely Basic Solution using C, Python Programming Language. Read 2 variables, named  A  and  B  and make the sum of these two variables, assigning its result to the variable  X . Print  X  as shown below. Print endline after the result otherwise you will get “ Presentation Error ”. Input The input file will contain 2 integer numbers. Output Print the letter  X  (uppercase) with a blank space before and after the equal signal followed by the value of X, according to the following example. Obs.: don't forget the endline after all. Samples Input Samples Output 10 9 X = 19 -10 4 X = -6 15 -7 X = 8 URI 1001 Solution in Python A = int(input()) B = int(input()) X = A + B print("X =",X); URI 1001 Solution in C: #include int main() { int A,B,X; scanf ("%d %d", &A, &B); X=A+B; printf("X = %d\n",X); return 0; }

URI Online Judge Solution 1151 Easy Fibonacci

URI Online Judge Solution 1151 Easy Fibonacci using C Programming Language. he following sequence of numbers 0 1 1 2 3 5 8 13 21 ... is known as the Fibonacci Sequence. Thereafter, each number after the first 2 is equal to the sum of the previous two numbers. Write an algorithm that reads an integer N (N < 46) and that print the first N numbers of this sequence. Input The input file contains an integer number N (0 < N < 46). Output The numbers ​​should be printed on the same line, separated by a blank space. There is no space after the last number. Thanks to Cássio F. Input Sample Output Sample 5 0 1 1 2 3 Solution using C : #include <stdio.h> int main() {     int n,i,n1,n2,t;     scanf("%d",&n);     for(i=1; i<=n; i++)     {         if(i==1)         {         ...

URI Problem 1186 Solution Below the Secundary Diagonal - URI Online Judge Solution

URI Online Judge Solution 1186 Below the Secundary Diagonal   Using C, Python Programming Language. Read an uppercase character that indicates an operation that will be performed in an array M[12][12]. Then, calculate and print the sum or average considering only that numbers that are below of the Secundary diagonal of the array, like shown in the following figure (green area). Input The first line of the input contains a single uppercase character O ('S' or 'M'), indicating the operation Sum or Average (Média in portuguese) to be performed with the elements of the array. Follow 144 floating-point numbers of the array. Output Print the calculated result (sum or average), with one digit after the decimal point. Input Sample Output Sample S 5.0 0.0 -3.5 2.5 4.1 ... 12.6 Solution Using C: #include <stdio.h> int main() {     double a=0.0, M[12][12];     char T[2];     int x,y,c=0;     scanf("%s", &T);     for(x=0;x<=1...