7.18
来源:互联网 发布:linux gem 编辑:程序博客网 时间:2024/06/07 09:21
Parentheses Balance
You are given a string consisting of parentheses () and []. A string of this type is said to becorrect:
- (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
YesNoYes
看代码: 利用中间变量
#include <iostream>#include<cstdio>#include <stack>#include <cstring>using namespace std;int main(){ int i,j,k; int T; cin>>T; getchar(); while (T--) { string s ; stack<char> Chr; getline(cin,s); //不能用gets,要用getline,并且getline输入的字符串必须是string形式 int L=s.size();//并且每个"("和"["都有与之对应的")"和"]" Chr.push('0');//利用中间变量来判断什么时候满足条件 for (i=0;i<L;i++) { if (s[i]=='(' || s[i]=='[') Chr.push(s[i]); else if (s[i]==')') { if (Chr.top()=='(') Chr.pop(); else Chr.push('1'); } else { if (Chr.top()=='[') Chr.pop(); else Chr.push('1'); } } printf(Chr.top()=='0'?"Yes\n":"No\n"); } return 0;}
阅读全文
0 0
- 7.18
- 7.18
- 7.18
- 7.18
- 7.18
- 7.18
- 7.18
- 7.18
- 7.18
- 7.18
- 7.18
- 7.18
- 7.18小雨
- 7.18计划
- 建议7.18
- 7.18计划
- MZOI-7.18
- C++7.18
- C++中在operator=中处理“自我赋值”(11)---《Effective C++》
- Docker GUI调研
- 划分树
- mme log
- react-router基本知识
- 7.18
- linux常用命令之seq
- 23. 散列表
- @property
- 【OpenStack源码分析之五】Nova API 的插件管理
- eNB log
- CodeForces
- C++中explicit关键字用法
- 语句(Statement)---练习