Contents
Problem
題目網址
中文網址
Solution
找對應的括號,一遇到 ‘)’ 、 ‘]’ 卻無法有對應的括號,即可停止。
Code
UVa 673
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 36 37 38 39 40 41 42 43 44 45
|
#include<stack> #define N 130
int () { std::stack<char> parentheses; int n,i; char s[N] = { NULL }; scanf("%d", &n);
getchar(); while (n--) { fgets(s, N, stdin);
for (i = 0; s[i] != 'n'; i++) { if (s[i] == '(' || s[i] == '[') parentheses.push(s[i]); else if (s[i] == ')') { if (!parentheses.empty() && parentheses.top() == '(') parentheses.pop(); else break; } else if (s[i] == ']') { if (!parentheses.empty() && parentheses.top() == '[') parentheses.pop(); else break; } }
printf("%sn", parentheses.empty() && s[i] == 'n' ? "Yes" : "No");
while (!parentheses.empty()) parentheses.pop(); }
return 0; }
|
近期评论