Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <math.h>
- #include <ctype.h>
- #pragma warning(disable:4996 6031)
- char stack[200000] = { 0 };
- char buffer[200020] = { 0 };
- int main(){
- for(;;){
- int top = -1;
- if(!fgets(buffer, 200000, stdin)){
- break;
- }
- //puts(buffer);
- int cur = 0, flag = 0;
- char ch;
- for(;;){
- if(buffer[cur] == '('){
- cur++;
- stack[top++] = '(';
- }
- else if(buffer[cur] == '['){
- cur++;
- stack[top++] = '[';
- }
- else if(buffer[cur] == '{'){
- cur++;
- stack[top++] = '{';
- }
- else if(buffer[cur] == ')'){
- cur++;
- ch = stack[--top];
- if(ch != '('){
- flag = 1; break;
- }
- }
- else if(buffer[cur] == ']'){
- cur++;
- ch = stack[--top];
- if(ch != '['){
- flag = 1; break;
- }
- }
- else if(buffer[cur] == '}'){
- cur++;
- ch = stack[--top];
- if(ch != '{'){
- flag = 1; break;
- }
- }
- else{
- break;
- }
- }
- puts((top == -1 && !flag) ? "Yes" : "No");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement