You are given a string consisting of parentheses () and []. A string of this type is said to be correct: (a) if it is the empty string (b) if A and B are correct, AB is correct, (c) if A is correct, (A ) and [A ] is correct.
Write a program that takes a sequence of strings of this type and check their correctness. Your program can assume that the maximum string length is 128.
Input The file contains a positive integer n and a sequence of n strings of parentheses () and [] , one string a line.
Output A sequence of Yes or No on the output file.
Sample Input
3([])(([()])))([()[]()])()
Sample Output
YesNoYes
#include<stdio.h>#include<string.h>#define MAX 200int main(){int n;char s[MAX];int top;scanf("%d",&n);getchar();char c;int flag;while(n--){flag=0;top=-1;while((c=getchar())!=EOF&&c!='\n'){if(top!=-1){if(c==']'){if(s[top]=='[')top--;elseflag=1;}else if(c==')'){if(s[top]=='(')top--;else flag=1;}else{top++;s[top]=c;}}else{top++;s[top]=c;}}if(top!=-1){flag=1;}if(flag==1)printf("No\n");elseprintf("Yes\n");}return 0;}
You are given a string consisting of parentheses () and []. A string of this type is said to be correct: (a) if it is the empty string (b) if A and B are correct, AB is correct, (c) if A is correct, (A ) and [A ] is correct.
Write a program that takes a sequence of strings of this type and check their correctness. Your program can assume that the maximum string length is 128.
Input The file contains a positive integer n and a sequence of n strings of parentheses () and [] , one string a line.
Output A sequence of Yes or No on the output file.
Sample Input
3([])(([()])))([()[]()])()
Sample Output
YesNoYes