-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathbracket.cpp
More file actions
35 lines (35 loc) · 725 Bytes
/
bracket.cpp
File metadata and controls
35 lines (35 loc) · 725 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include<cstdio>
void foo()
{ char c='+', x[200000]="";
int i=0, flag=0;
c=getchar();
while(c!='\n' && c!=EOF)
{ x[i]=c;
if(x[i]=='(' || x[i]=='[' || x[i]=='{')
i++;
else if(i>0)
{ if(x[i]==')' && x[i-1]=='(')
i--;
else if(x[i]==']' && x[i-1]=='[')
i--;
else if(x[i]=='}' && x[i-1]=='{')
i--;
else
flag=1;
}
c=getchar();
}
if(i==0 && flag==0)
printf("YES\n");
else
printf("NO\n");
}
int main()
{ int t;
scanf("%d",&t);
char c=getchar();
while(t--)
{ foo();
}
return 0;
}//This implements stack.