ACM 括号配对问题
括号配对问题
- 描述
- 现在,有一行括号序列,请你检查这行括号是否配对。
- 输入
- 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符
- 输出
- 每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No
- 样例输入
- 
3 
 [(])
 (])
 ([[]()])
- 样例输出
- 
No 
 No
 Yes#include <iostream> 
 #include <vector>
 #include <algorithm>
 #include <string>
 #include <stack>
 using namespace std; int main(){
 int n;
 cin >> n;
 while(n--){
 string str;
 cin >>str;
 stack<char> branch;
 for(int i = ; i < str.length();++ i){
 if(branch.empty()) branch.push(str[i]);
 else if(str[i] == ']'|| str[i] == ')'){
 if(str[i] == ']' && '[' == branch.top() ) branch.pop();
 else if(str[i] == ')' && '(' == branch.top()) branch.pop();
 else break;
 }else{
 branch.push(str[i]);
 }
 }
 if(branch.empty()) cout<<"Yes"<<endl;
 else cout<<"No"<<endl;
 }
 }
ACM 括号配对问题的更多相关文章
- ACM:UESTC - 649  括号配对问题 - stack
		UESTC - 649 括号配对问题 Time Limit: 1000MS Memory Limit: 65535KB 64bit IO Format: %lld & %llu ... 
- 【ACM】括号配对问题 - 栈
		括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=1 ... 
- 【ACM】nyoj_2_括号配对问题_201308091548
		括号配对问题时间限制:3000 ms | 内存限制:65535 KB 难度:3描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100),表示 ... 
- NYOJ之括号配对问题
		括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N&l ... 
- nyoj 2 括号配对问题 栈
		nyoj 2 括号配对问题 题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=2 思路: 栈:'(' '['入栈,遇到 ']' ')'出栈 ... 
- 括号配对问题_栈<stack>
		问题 A: 括号配对问题 时间限制: 3 Sec 内存限制: 128 MB提交: 3 解决: 2[提交][状态][讨论版] 题目描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行 ... 
- hdoj 2 括号配对问题【数组模拟实现+STL实现】
		栈遵循先进后出的原则 括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0 ... 
- nyoj 2 括号配对问题
		括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0& ... 
- 括号配对问题--nyoj-2(栈)
		括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=10 ... 
随机推荐
- 【翻译二十二】java-并发之集合与原子变量
			Concurrent Collections The java.util.concurrent package includes a number of additions to the Java C ... 
- 【JAVA网络流之浏览器与服务器模拟】
			一.模拟服务器获取浏览器请求http信息 代码: package p06.TCPTransferImitateServer.p01.ImitateServer; import java.io.IOEx ... 
- 在python中使用concurrent.futures实现进程池和线程池
			#!/usr/bin/env python # -*- coding: utf-8 -*- import concurrent.futures import time number_list = [1 ... 
- SQLAlchemy高级ORM之改查删除及GROUP,JOIN...
			按书上案例来的. #coding=utf-8 from datetime import datetime from sqlalchemy import (MetaData, Table, Column ... 
- Sencha Architect 安装与使用
			http://www.sencha.com/products/touch/ Sencha SDK Tools Advanced JavaScript and CSS Project Build Too ... 
- hibernate查询语句实例代码
			一.聚集函数的使用: avg(...), sum(...), min(...), max(...) count(*) count(...), count(distinct ...), count(al ... 
- WPF中加载高分辨率图片性能优化
			在最近的项目中,遇到一个关于WPF中同时加载多张图片时,内存占用非常高的问题. 问题背景: 在一个ListView中同时加载多张图片,注意:我们需要加载的图片分辨率非常高. 代码: XAML: < ... 
- BuildFilePath 及打开文件对话框
			也许以后就主要在这里发SOUI的介绍了. 贴一段文件相关的helper, 测试一下贴代码是不是方便. /** * Copyright (C) 2014-2050 * All rights reserv ... 
- linux系统定时任务
			crontab常用的几个命令如下 sudo crontab -l #显示所有的定时任务 sudo crontab -e #编辑任务 sudo crontab -r #删除所有的任务 编辑任务时的书写方 ... 
- markdown使用总结
			# markdown简介> Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面. —— [维基百科]( https://zh.w ... 
