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)         {             n1 = 0;             printf("%d",n1);         }         else if(i==2)         {             n2 = 1;             printf("%d",n2);         }

URI Online Judge Solution 1149 Summing Consecutive Integers

URI Online Judge Solution 1149 Summing Consecutive Integers using C Programming Language. Write an algorithm to read a value A and a value N. Print the sum of N numbers from A (inclusive). While N is negative or ZERO, a new N (only N) must be read. All input values are in the same line. Input The input contains only integer values, ​​can be positive or negative. Output The output contains only an integer value. Input Sample Output Sample 3 2 7 3 -1 0 -2 2 7 Solution using C : #include <stdio.h> int main() {     int a,n,s=0;         scanf("%d%d",&a,&n);         while(n<=0)             scanf("%d",&n);         while(n)         {             s += a++;             n--;         }         printf("%d\n",s);     return 0; }