Parentheses Balance
来源:互联网 发布:手机视频聊天软件 编辑:程序博客网 时间:2024/06/03 08:37
You are given a string consisting of parentheses () and []. A string of this type is said to be correct:
(a) if it is the empty string
(b) if A and B are correct, AB is correct,
(c) if A is correct, (A) and [A] is correct.
Write a program that takes a sequence of strings of this type and check their correctness. Yourprogram can assume that the maximum string length is 128.
Input
The file contains a positive integer n and a sequence of n strings of parentheses ‘()’ and ‘[]’, one stringa line.
Output
A sequence of ‘Yes’ or ‘No’ on the output file.
Sample Input
3
([])
(([()])))
([()[]()])()
Sample Output
Yes
No
Yes
#include<iostream>#include<stack>#include<cstdio>using namespace std;int pd(char a,char b){if(a=='('&&b==')')return 0;if(a=='['&&b==']')return 0;return 1;}int tj(char m){if(m=='['||m=='(')return 1;return 0;}int main(){char s[200];int n;scanf("%d",&n);getchar();while(n--){stack<char> a;gets(s);if(s[0]=='\n'){printf("Yes\n");continue;}for(int i=0;s[i];i++){if(a.empty())a.push(s[i]);else if(pd(a.top(),s[i])){if(tj(s[i]))a.push(s[i]);}elsea.pop();}if(a.empty())printf("Yes\n");elseprintf("No\n");}return 0;}
阅读全文
0 0
- Parentheses Balance
- balance parentheses
- Parentheses Balance
- Parentheses Balance
- Parentheses Balance
- Parentheses Balance
- UVa 673 Parentheses Balance
- uva673 Parentheses Balance
- uva 673 - Parentheses Balance
- 673 - Parentheses Balance
- Uva 673 Parentheses Balance
- UVaOJ 673 - Parentheses Balance
- uva 673 - Parentheses Balance
- UVa 673 Parentheses Balance
- UVa 673 - Parentheses Balance
- 673 - Parentheses Balance
- UVA 673 Parentheses Balance
- UVa 673 - Parentheses Balance
- android-Service和Thread的区别
- zigbee协议栈 中断服务函数定义方法
- 对象和类
- 浏览器加载和渲染html的顺序
- 7.18
- Parentheses Balance
- 嵌入式学习日记(十二)
- linux常用的命令7.20
- STM32启动文件_0
- abstract 抽象
- 编程学习应用 Growth 发布 3.0,在碎片时间里练习
- Recyclerview数据显示错乱完全解析
- C++向上造型
- notepad++ pythonScript插件之列转SQL查询条件