UVA 673 (13.08.17)
| Parentheses Balance |
You are given a string consisting of parentheses () and []. Astring 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 checktheir correctness. Your program can assume that the maximum stringlength is 128.
Input
The file contains a positive integer
n and a sequence of
n strings ofparentheses
() and
[], one string a line.
Output
A sequence of
Yes or
No on the output file.
Sample Input
3
([])
(([()])))
([()[]()])()
Sample Output
Yes
No
Yes
题意: 匹配小括号和中括号~
做法及其注意点:
一种情况是遇到 '(' 或 '[', 那么直接放到栈里不解释~
另一种情况是遇到 ')' 或 ']', 进行判定, 是否前一个是 '(' 或 '[' (注意了, 此时栈也许是空的), 若是, 弹出栈~
最后判断是否为空~
AC代码:
#include<stdio.h>
#include<stack> using namespace std; int main() {
int T;
char ch;
scanf("%d", &T);
getchar();
while(T--) {
stack <char> sta; while(scanf("%c", &ch)) {
if(ch == '\n')
break;
if(sta.empty()) {
sta.push(ch);
continue;
}
if(ch == '(')
sta.push(ch); if(ch == ')') {
if(sta.top() == '(')
sta.pop();
else
sta.push(ch);
}
if(ch == '[')
sta.push(ch); if(ch == ']') {
if(sta.top() == '[')
sta.pop();
else
sta.push(ch);
}
} if(sta.empty())
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
UVA 673 (13.08.17)的更多相关文章
- UVA 536 (13.08.17)
Tree Recovery Little Valentine liked playing with binary trees very much. Her favoritegame was con ...
- UVA 10194 (13.08.05)
:W Problem A: Football (aka Soccer) The Problem Football the most popular sport in the world (ameri ...
- UVA 253 (13.08.06)
Cube painting We have a machine for painting cubes. It is supplied withthree different colors: blu ...
- UVA 573 (13.08.06)
The Snail A snail is at the bottom of a 6-foot well and wants to climb to the top.The snail can cl ...
- UVA 10499 (13.08.06)
Problem H The Land of Justice Input: standard input Output: standard output Time Limit: 4 seconds In ...
- UVA 10025 (13.08.06)
The ? 1 ? 2 ? ... ? n = k problem Theproblem Given the following formula, one can set operators '+ ...
- UVA 465 (13.08.02)
Overflow Write a program that reads an expression consisting of twonon-negative integer and an ope ...
- UVA 10494 (13.08.02)
点此连接到UVA10494 思路: 采取一种, 边取余边取整的方法, 让这题变的简单许多~ AC代码: #include<stdio.h> #include<string.h> ...
- UVA 424 (13.08.02)
Integer Inquiry One of the first users of BIT's new supercomputer was Chip Diller. Heextended his ...
随机推荐
- UVA 10400 Game Show Math (dfs + 记忆化搜索)
Problem H Game Show Math Input: standard input Output: standard output Time Limit: 15 seconds A game ...
- poj 2388 Who's in the Middle
Who's in the Middle Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 31149 Accepted: 1 ...
- OC中语法糖,最新语法总结
<span style="font-size:24px;"> 1.方法与顺序无关 2.枚举绑定数据类型 enum { ObjectiveC, Java, Ruby, P ...
- 利用JS实现简单的瀑布流效果
哈哈, 我又来啦, 在这一段时间里, 我简单的学习了一下javascript(JS), 虽然不是很懂啦, 但是我也简单的尝试着做了点小东西, 就比如现在流行的瀑布流效果, 经过我的努力终于成功的完成了 ...
- 关闭归档提示:ORA-38774: cannot disable media recovery - flashback database is enabled
SQL> select * from v$version; Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit P ...
- IO中手机旋转事件的传递
UIApplication -> delegate -> widnow -> rootViewController
- windows程序消息机制(Winform界面更新有关)--转
1. Windows程序消息机制 Windows GUI程序是基于消息机制的,有个主线程维护着消息泵.这个消息泵让windows程序生生不息. Windows程序有个消息队列,窗体上的所有消息是这个队 ...
- GDI+(Graphics Device Interface)例子
使用SolidBrush 单色画笔 Bitmap bitmap = new Bitmap(800, 600); Graphics graphics = Graphics.From ...
- FineUI表单验证
自动编码文本 默认情况下,Label的EncodeText属性为true,会对文本中的HTML进行编码.当然我们也可以设置EncodeText=false,从而将HTML片段赋值给Text属性,请看这 ...
- Geodatabase - 创建要素类.
在NET中,会遇到以“_2”结尾的属性,这些属性是可写的. 以下代码在已有工作空间下,创建一个新的点要素类: //例如,personalDBPath=@"G:\doc\gis\1.400\d ...