当前位置:网站首页>[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 !
、
边栏推荐
- Determine the Photo Position
- Indonesian medical sensor Industry Research Report - market status analysis and development prospect forecast
- Web based photo digital printing website
- 【练习-5】(Uva 839)Not so Mobile(天平)
- 用C语言写网页游戏
- 通俗地理解什么是编程语言
- cs零基础入门学习记录
- mysql导入数据库报错 [Err] 1273 – Unknown collation: ‘utf8mb4_0900_ai_ci’
- 初入Redis
- Information security - threat detection - Flink broadcast stream broadcaststate dual stream merging application in filtering security logs
猜你喜欢

Learning record: USART serial communication

【高老师UML软件建模基础】20级云班课习题答案合集

Information security - threat detection engine - common rule engine base performance comparison

C语言是低级和高级的分水岭

Nodejs+vue网上鲜花店销售信息系统express+mysql

Optimization method of path problem before dynamic planning

C语言学习笔记

渗透测试 ( 7 ) --- 漏洞扫描工具 Nessus

信息安全-威胁检测引擎-常见规则引擎底座性能比较

入门C语言基础问答
随机推荐
Accounting regulations and professional ethics [2]
Cost accounting [20]
TCP的三次握手与四次挥手
Cost accounting [14]
Information security - security professional name | CVE | rce | POC | Vul | 0day
Opencv learning log 30 -- histogram equalization
China exterior wall cladding (EWC) market trend report, technical dynamic innovation and market forecast
对iptables进行常规操作
Cost accounting [13]
Research Report on surgical fluid treatment industry - market status analysis and development prospect prediction
Research Report on shell heater industry - market status analysis and development prospect forecast
信息安全-史诗级漏洞Log4j的漏洞机理和防范措施
C语言学习笔记
区间和------离散化
Borg Maze (BFS+最小生成树)(解题报告)
通俗地理解什么是编程语言
信息安全-威胁检测引擎-常见规则引擎底座性能比较
STM32 learning record: play with keys to control buzzer and led
Record of force deduction and question brushing
Learning record: STM32F103 clock system overview working principle