问题 A: 括号配对问题

时间限制: 3 Sec  内存限制: 128 MB
提交: 3  解决: 2
[提交][状态][讨论版]

题目描述

现在,有一行括号序列,请你检查这行括号是否配对。

输入

第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符

输出

每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No

样例输入

3
[(])
(])
([[]()])

样例输出

No
No
Yes 解题思路:用c++的库函数,直接建立一个栈,然后模拟配对过程。
代码:
#include <iostream>
#include <cstdio>
#include <stack> using namespace std; int main()
{
int n;
char ch;
string l;
stack<char> st1;
scanf("%d",&n); for(int i=;i<n;i++){
getchar();
while(){
ch=getchar();
if(ch=='['||ch=='('){
st1.push(ch);
}else{
if(ch==']'){
if(st1.top()=='['){
st1.pop();
}else{
printf("No\n");
//getchar();
cin>>l;
break;
}
}
if(ch==')'){
if(st1.top()=='('){
st1.pop();
}else{
printf("No\n");
//getchar();
cin>>l;
break;
}
}
} if(ch!='['&&ch!=']'&&ch!='('&&ch!=')'){
printf("Yes\n");
break;
} } }
return ;
}

括号配对问题_栈<stack>的更多相关文章

  1. stl-stack+括号配对问题

    栈:stl的一种容器,遵循先进后出原则,,只能在栈的顶部操作,就像放盘子一样,洗好的盘子叠在上面,需要用时也是先从顶部拿.不允许被遍历,没有迭代器 基本操作: 1.头文件#include<sta ...

  2. Num 15: NYOJ: 题目0002 : 括号配对问题 [ 栈(stack) ]

    原题连接      首先要了解有关栈的一些基本知识,即:      什么是栈,栈有什么作用:        1.什么是栈: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkb ...

  3. ACM:UESTC - 649 括号配对问题 - stack

      UESTC - 649  括号配对问题 Time Limit: 1000MS   Memory Limit: 65535KB   64bit IO Format: %lld & %llu ...

  4. 括号配对问题--nyoj-2(栈)

    括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0<N<=10 ...

  5. nyoj 2 括号配对问题 栈

    nyoj 2 括号配对问题 题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=2 思路: 栈:'(' '['入栈,遇到 ']' ')'出栈 ...

  6. 【ACM】括号配对问题 - 栈

    括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0<N<=1 ...

  7. NYOJ-2 括号配对问题 -- 数据结构_堆栈

    以前做过的,现在整理一下,主要是堆栈的使用 1.碰到左括号就入栈,碰到右括号就从栈里弹出一个和当前比配,匹配失败就肯定是NO了; 2.如果右括号弹栈的时候栈空,则说明之前没有和右括号匹配的左括号了,这 ...

  8. 括号配对问题-java:Stack

    题目描述: 现在,有一行括号序列,请你检查这行括号是否配对. 输入描述: 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数据都是一个字符串 ...

  9. nyoj 2 括号配对问题(stack)

    括号配对问题 时间限制:3000 ms  |            内存限制:65535 KB 难度:3   描述 现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0& ...

随机推荐

  1. C#委托全解析

    什么是委托?                                                                                       委托类似于C语 ...

  2. php加速运行优化

    一个系统的运行性能,除了程序本身要写的完善,还有要看php本身的一些问题,对于php的运行优化,主要有这些加速器:wincache,xcache,ZendOPcache,eAccelerator加速器 ...

  3. spring 缓存(spring自带Cache)(入门)源码解读

    spring自带的缓存类有两个基础类:Cache(org.springframework.cache.Cache)类,CacheManager(org.springframework.cache.Ca ...

  4. etcd

    https://github.com/silenceper/dcmp http://studygolang.com/topics/1866

  5. 2013nanjingJ

    J - Ball Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  6. Android文本读写

    //写文件操作   public void writeFileData(String fileName, String message){        try{            FileOut ...

  7. nginx 虚拟主机

    基于域名的虚拟主机 创建站点目录 [root@nginx conf]# cd /usr/local/nginx/html/ [root@nginx html]# pwd /usr/local/ngin ...

  8. Word有用的快捷键

      1.shift+上下左右,可以用键盘从当前光标位置选择文本.可以配合各种其他导航键,比如ctrl+上下左右,Home, End, PageUp/Down. 2.选择文本后,按F2,光标会自动变成虚 ...

  9. Android手机的上网功能需要用到APN(网络接入点)的设置 电信

    手机apn出问题了,上不网 电信天翼: 我们经常使用的APN有三个,分别是NET网络设置.WAP网络设置和彩信网络设置. 1.NET网络设置 名称:CTNET APN:#777 用户名:ctnet@m ...

  10. Java 7 Concurrency Cookbook 翻译 第一章 线程管理之三

    五.睡眠和唤醒一个线程 有时,你会想要在一段特定的时间后再去中断线程的运行.举个例子,程序中的一个线程每一分钟检查一次传感器的状态,剩余的时间,线程应该处于空闲的状态.在这段空闲时间里,线程不会使用计 ...