uva 673

来源:互联网 发布:阿里云如何做代理商 编辑:程序博客网 时间:2024/05/10 07:41

经典的判断括号匹配问题。

#include <iostream>#include <stdio.h>#include <stack>#include <string>using namespace std;stack<int> ch_stack;string str;int main(){freopen("in.txt", "r", stdin);freopen("out.txt", "w", stdout);int kasenum;cin >> kasenum;cin.get();while (kasenum--){getline(cin, str);while (!ch_stack.empty())ch_stack.pop();bool flag = true;for (int i = 0; i < str.size(); i++){if ('(' == str[i] || '[' == str[i])ch_stack.push(str[i]);else{if (ch_stack.empty()){flag = false;break;}if (')' == str[i] && '(' == ch_stack.top())ch_stack.pop();else if (']' == str[i] && '[' == ch_stack.top())ch_stack.pop();else{flag = false;break;}}}//for int iif (!ch_stack.empty())flag = false;cout <<( flag ? "Yes" : "No") << endl;}//whilereturn 0;}


0 0
原创粉丝点击