【ACM】括号配对问题 - 栈
括号配对问题
- 描述
- 现在,有一行括号序列,请你检查这行括号是否配对。
- 输入
- 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[", "]", "(", ")" 四种字符
- 输出
- 每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No
- 样例输入
-
3 [(]) (]) ([[]()])
- 样例输出
No No Yes
- 思路:括号匹配问题,读取到左边的括号,入栈,读取到右边的从栈顶拿出进行匹配,失败即为不匹配的串,否则继续处理
#include <iostream> #include <string> using namespace std;struct stack{int num;string str; };int main(){int n;cin>>n;string ss;stack a;int i;while(n--){cin>>ss;a.num = 0;a.str = "";if (ss.length()%2!=0){cout<<"No"<<endl;}else{if (ss[0]!='[' && ss[0]!='('){cout<<"No"<<endl;}else{for (i = 0 ; i < ss.length(); i++){if (ss[i]=='('||ss[i]=='['){a.str = a.str + ss[i];a.num++;}else if (ss[i]==')'){if (a.str[a.num-1]=='('){a.num--;string temp = "";for (int j = 0 ; j < a.num ; j++){temp += a.str[j];}a.str = temp;}}else if (ss[i]==']'){if (a.str[a.num-1]=='['){a.num--;string temp = "";for (int j = 0 ; j < a.num ; j++){temp += a.str[j];}a.str = temp;}}}if (i==ss.length() && a.num==0){cout<<"Yes"<<endl;}else{cout<<"No"<<endl;}}}}return 0; }
转载于:https://www.cnblogs.com/lyc94620/p/9289138.html
【ACM】括号配对问题 - 栈相关推荐
- acm括号配对问题c语言,ACM:UESTC - 649 括号配对问题 - stack
/*/ 简单的括号配对问题 先把给出的数字串全部变成括号串,在用栈去压入括号,每次保存栈顶括号,如果栈顶括号能和下一个括号配对,就把栈顶弹出,指括号的指针后移. 最后判断栈内是否还有元素,如果有,就说 ...
- 括号配对问题----栈模拟
括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100), ...
- ACM试题 - 括号配对问题 - Java中字符串截取和定位问题
ACM试题题源(括号配对问题):http://acm.nyist.net/JudgeOnline/problem.php?pid=2 提交代码: import java.util.Scanner;pu ...
- 括号配对问题_栈stack
问题 A: 括号配对问题 时间限制: 3 Sec 内存限制: 128 MB 提交: 3 解决: 2 [提交][状态][讨论版] 题目描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第 ...
- 括号配对问题 -- ACM解决方法
括号配对问题 (栈的使用) 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数 ...
- 括号配对问题http://acm.nyist.net/JudgeOnline/problem.php?pid=2
括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100), ...
- 【ACM】nyoj_2_括号配对问题_201308091548
括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100), ...
- NYOJ 括号配对问题
括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100), ...
- NYOJ2—括号配对问题
括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100), ...
最新文章
- SAP MCH1表和MCHA表更新逻辑
- django 连接mysql 数据库
- U盘启动盘制作方法 2种绝招轻松搞定
- leetcode-生成括号(回溯算法)
- win10主题更换_还不升级? win10精简版不到10G,运行比win7还快,旧电脑的福音
- java工厂模式学习
- 顶级MySQL主从复制企业应用
- Javassist进行方法插桩
- Egret入门学习日记 --- 问题汇总
- centos6.5 mysql配置整理
- 5G终端天线设计,到底有多难?
- mysql带入参的存储过程_MySql带参数存储过程()
- 防止被偷窥和修改 Office文档保护秘笈
- Adminlte数据分页设置
- 功能测试用例设计方法,一文带你了解用例设计,再也不担心用例了
- oracle的number类型
- 优质供应商选择标准_优秀供应商评选标准
- SAP中通过格式调整解决导出EXCEL表字段显示不全问题
- 计算机怎么升级64位操作系统,32位系统怎么升级64位系统
- Protocol “https“ not supported or disabled in libcurl