【UVA 673 Parentheses】 & 栈
来源:互联网 发布:金博宝芝林软件破解版 编辑:程序博客网 时间:2024/06/05 14:31
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.
Output
A sequence of ‘Yes’ or ‘No’ on the output file.
Sample Input
3
([])
(([()])))
([()])()
Sample Output
Yes
No
Yes
题意 : 检查给出的字符串是否括号配对
思路 : 栈存左括号,遇到右括号配对,空字符串也为 Yes
AC代码:
#include<cstdio>#include<cmath>#include<deque>#include<stack>#include<iostream>#include<queue>#include<vector>#include<cstring>#include<algorithm>using namespace std;const int MAX = 1e5 + 10;const int INF = 1e9 + 7;typedef long long LL;string s;int nl;int main(){ int n; scanf("%d",&n); getchar(); while(n--){ getline(cin,s); if(s.size() == 0){ puts("Yes"); continue; } int ok = 1; stack <char> q; for(int i = 0; i < s.size(); i++) if(s[i] == '(' || s[i] == '[') q.push(s[i]); else{ if(q.empty()){ ok = 0; break; } char o = q.top(); q.pop(); if(s[i] == ')' && o != '(') ok = 0; if(s[i] == ']' && o != '[') ok = 0; if(!ok) break; } if(ok && q.empty()) puts("Yes"); else puts("No"); } return 0;}
阅读全文
0 0
- 【UVA 673 Parentheses】 & 栈
- Uva 673 - Parentheses Balance//栈
- UVa 673 Parentheses Balance (栈)
- uva 673 Parentheses Balance(栈)
- UVa 673 Parentheses Balance(括号配对 栈)
- uva 673 Parentheses Balance(栈)
- UVA - 673 - Parentheses Balance(栈)
- UVA 673 Parentheses Balance ( 栈 + 坑)
- UVa-673 Parentheses Balance(栈模拟)
- UVa 673 Parentheses Balance
- UVa OJ 673-Parentheses
- uva 673 - Parentheses Balance
- Uva 673 Parentheses Balance
- uva 673 - Parentheses Balance
- UVa 673 Parentheses Balance
- UVa 673 - Parentheses Balance
- UVA 673 Parentheses Balance
- UVa 673 - Parentheses Balance
- leetcode -- 14. Longest Common Prefix
- hdu 1824 Let's go home(s-sat)
- 如何成为一名优秀的前端工程师
- 如何阻止手机虚拟键盘弹起
- luogu2035 iCow
- 【UVA 673 Parentheses】 & 栈
- leetcode 347. Top K Frequent Elements 使用HashMap计数
- < 笔记 > Python
- 【UVa12265】Selling Land 贩卖土地
- 集合的整数表示
- hdu 1724 Ellipse(自适应Simpson积分) (模板)
- Progress of 96Board Camera MIPI Mezzanine
- SoftMax回归简介及python代码实现
- 大学生职业生涯规划