zoukankan      html  css  js  c++  java
  • Uva673 平衡的括号

    Uva 673平衡的括号

    题目描述:

    思路:

    就是普通的括号匹配问题,用栈来模拟操作。需要注意的地方是,有输入为空的情况,所以不要用cin来读取,而是用getline

    代码:

    #include <iostream>
    #include <stack>
    #include <string>
    #include <sstream>
    using namespace std;
    
    int main()
    {
    	//freopen("uva673_in.txt", "r", stdin);
    	//freopen("uva673_out.txt", "w", stdout);
    	string s;
    	getline(cin, s);
    	stringstream ss(s);
    	int n ; ss >> n;
    	while(n--){
    		string s; getline(cin, s);	
    		stack<char> res;
    		int failed = 0;
    		for(int i = 0; i < s.length(); ++i){
    			if(s[i] == ')'){
    				if(!res.empty()) {
    					char c = res.top();
    					if(c == '(') res.pop();
    					else { failed = 1; break;}
    				}
    				else { failed = 1; break;} 
    			}else if(s[i] == ']'){
    				if(!res.empty()){
    					char c = res.top();
    					if(c == '[') res.pop();
    					else { failed = 1; break;}
    				}
    				else { failed = 1; break;}
    			}
    			else res.push(s[i]);
    		}
    		if(res.empty() && !failed) cout << "Yes
    ";
    		else cout << "No
    ";
    	}
    }
    
  • 相关阅读:
    Notepad++
    pycharm
    pygame游戏开发-简介
    白月黑羽Python在线教程
    Selenium Web自动化 原理
    Web自动化
    Web自动化
    转:Android开发环境搭建
    Android系统架构说明介绍
    Enjoy Android
  • 原文地址:https://www.cnblogs.com/patrolli/p/11291083.html
Copyright © 2011-2022 走看看