Advertisement
wojiaocbj

Untitled

May 3rd, 2023
1,000
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.04 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <math.h>
  5. #include <ctype.h>
  6. #pragma warning(disable:4996 6031)
  7. char stack[200000] = { 0 };
  8. char buffer[200020] = { 0 };
  9. int main(){
  10.     for(;;){
  11.         int top = -1;
  12.         if(!fgets(buffer, 200000, stdin)){
  13.             break;
  14.         }
  15.         //puts(buffer);
  16.         int cur = 0, flag = 0;
  17.         char ch;
  18.         for(;;){
  19.             if(buffer[cur] == '('){
  20.                 cur++;
  21.                 stack[top++] = '(';
  22.             }
  23.             else if(buffer[cur] == '['){
  24.                 cur++;
  25.                 stack[top++] = '[';
  26.             }
  27.             else if(buffer[cur] == '{'){
  28.                 cur++;
  29.                 stack[top++] = '{';
  30.             }
  31.             else if(buffer[cur] == ')'){
  32.                 cur++;
  33.                 ch = stack[--top];
  34.                 if(ch != '('){
  35.                     flag = 1; break;
  36.                 }
  37.             }
  38.             else if(buffer[cur] == ']'){
  39.                 cur++;
  40.                 ch = stack[--top];
  41.                 if(ch != '['){
  42.                     flag = 1; break;
  43.                 }
  44.             }
  45.             else if(buffer[cur] == '}'){
  46.                 cur++;
  47.                 ch = stack[--top];
  48.                 if(ch != '{'){
  49.                     flag = 1; break;
  50.                 }
  51.             }
  52.             else{
  53.                 break;
  54.             }
  55.         }
  56.         puts((top == -1 && !flag) ? "Yes" : "No");
  57.     }
  58.     return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement