当前位置:网站首页>[exercise-1] (UVA 673) parentheses balance/ balanced brackets (stack)
[exercise-1] (UVA 673) parentheses balance/ balanced brackets (stack)
2022-07-06 15:56:00 【Flame car】
A . Parentheses Balance
Description
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.
Samples
Input
3
([])
(([()])))
([()])()
Output
Yes
No
Yes
What do you mean :
Enter a include "()“ and ”[]" The bracket sequence of , Judge whether it is legal . The rules :
① Empty string method
② If A and B It's all legal , be AB legal
③ If A Legal principle (A) and [A] It's all legal
AC Code :
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <stack>
using namespace std;
int n;
int main()
{
cin >> n;
getchar();
while(n--){
string s;
stack<char>st;
getline(cin,s);
int len = s.size();
for(int i = 0; i < len; i++)
{
if(st.empty())
st.push(s[i]);
else
{
if((s[i] == ')' && st.top() == '(') || (s[i] == ']' && st.top() == '['))
st.pop();
else
st.push(s[i]);
}
}
if(st.empty())
cout << "Yes" << endl;
else
cout << "No" << endl;
}
return 0;
}
It's quite speechless , This question is too annoying …… Thought it was a water problem , I didn't expect it to be a dirty water problem , How annoying .
If you understand the meaning of the topic, it should not be very difficult ( Probably ), I found out when I wrote this blog Empty strings are also legal characters !!
No wonder you have to getline() Input , This is the input empty string .
But why do I have to write one before putchar() ??? Is not very good , If there is a big man, you can tell me (T^T).
These two points are simply disgusting, I guess , There is nothing to say about an exam stack (stack) I have to do all these fancy things …… I'm not good at learning !
thought :
① Use the stack to store "(" and “[”
② If you come across ")" It depends on whether the top of the stack is "(", If it is "[“ Or the stack is empty , Is an illegal string .
③ If you come across ”]" It depends on whether the top of the stack is "[", If it is "(" Or the stack is empty , Is an illegal string .
Thought is like this , How to write the code depends on you !
、
边栏推荐
- Opencv learning log 31 -- background difference
- China's peripheral catheter market trend report, technological innovation and market forecast
- Printing quality inspection and verification system Industry Research Report - market status analysis and development prospect forecast
- 区间和------离散化
- Learning record: use STM32 external input interrupt
- Research Report on shell heater industry - market status analysis and development prospect forecast
- MATLAB综合练习:信号与系统中的应用
- B - 代码派对(女生赛)
- [analysis of teacher Gao's software needs] collection of exercises and answers for level 20 cloud class
- Flink 使用之 CEP
猜你喜欢
C语言数组的概念
Learning record: STM32F103 clock system overview working principle
Optimization method of path problem before dynamic planning
Ball Dropping
程序员的你,有哪些炫技的代码写法?
Nodejs+vue网上鲜花店销售信息系统express+mysql
Record of force deduction and question brushing
信息安全-安全编排自动化与响应 (SOAR) 技术解析
Information security - threat detection engine - common rule engine base performance comparison
信息安全-威胁检测引擎-常见规则引擎底座性能比较
随机推荐
China's earthwork equipment market trend report, technical dynamic innovation and market forecast
差分(一维,二维,三维) 蓝桥杯三体攻击
Opencv learning log 31 -- background difference
【练习-7】(Uva 10976)Fractions Again?!(分数拆分)
7-1 懂的都懂 (20 分)
X-Forwarded-For详解、如何获取到客户端IP
C 基本语法
Cost accounting [22]
洛谷P1102 A-B数对(二分,map,双指针)
信息安全-威胁检测-flink广播流BroadcastState双流合并应用在过滤安全日志
Research Report of peripheral venous catheter (pivc) industry - market status analysis and development prospect prediction
Cost accounting [13]
Opencv learning log 13 corrosion, expansion, opening and closing operations
Learning record: Tim - Basic timer
用C语言写网页游戏
Research Report of pharmaceutical solvent industry - market status analysis and development prospect prediction
Cost accounting [15]
区间和------离散化
Record of brushing questions with force deduction -- complete knapsack problem (I)
【练习-5】(Uva 839)Not so Mobile(天平)