Parentheses Balance UVA - 673
2024-10-19 09:29:29
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. Your program 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 string a line. Note that the string can contain arbitrary spaces and it can even be empty.
Output
A sequence of Yes
or No
on the output file.
Sample Input
3
([])
(([()])))
([()[]()])()
Sample Output
Yes
No
Yes
HINT
栈操作
Accepted
#include<bits/stdc++.h>
using namespace std;
int main() {
ofstream fcout;
fcout.open("temp.txt");
int sum, flag = 0;
string s;
cin >> sum;getchar();
while (sum--) {
stack<char>S;
flag = 0;
getline(cin, s);
for (int i = 0;i < s.length();i++) {
if (s[i] == '['|| s[i] == '(')S.push(s[i]);
else if (s[i] == ')')
if (!S.empty() && S.top() == '(')S.pop();
else { flag = 1;break; }
else if (s[i] == ']')
if (!S.empty() && S.top() == '[')S.pop();
else { flag = 1;break; }
}
cout << (S.empty() && !flag ? "Yes" : "No") << endl;
}
}
最新文章
- Linux系统安装LAMP
- RFIDler - An open source Software Defined RFID Reader/Writer/Emulator
- .net 加水印 图片变大很多 解决方法
- 【动态规划】Vijos P1616 迎接仪式
- MVC Razor 一些常用的方法
- Opencv2.2版本以上CvvImage类的使用
- 【javascript】数组的操作
- struct和union的区别
- <;?xml version=";1.0"; encoding=";UTF-8";?>; 的作用
- js分析 有_道_翻_译 md5
- Python 输出格式符号
- thinkphp5 如何使用查询事件?
- GCC编译器原理(二)------编译原理一:目标文件
- 【C++】解析C++运行环境的搭建
- Vuejs——(10)组件——父子组件通信
- 用c语言实现http请求
- MUI 打包android app
- CDB和PDB的创建、连接、启动、关闭
- ios中LeveyPopListView 弹出view的用法
- AFO预定