主站
DreamJudge
院校信息
专业题库
模拟考试
机试真题
专业课程
答疑区
兑换中心
登录
注册
上岸
以下题解仅供学习参考使用。
抄袭、复制题解,以达到刷AC率/AC数量或其他目的的行为,在N诺是严格禁止的。
N诺非常重视学术诚信。此类行为将会导致您成为作弊者。具体细则请查看N诺社区规则。
Syou
2023年8月22日 11:29
括号的匹配 题解:C++ <stack>
P1067
回复 0
|
赞 2
|
浏览 1.3k
C++ 分别考虑8种括号 #include <iostream> #include <string> #include <stack> using namespace std; bool isMatched(string str){ stack<char> chars; for(int j = 0; j < str.size(); j++){ if(str[j] == '<'){ chars.push(str[j]); } ...
Hegel
2023年3月21日 21:11
括号匹配
P1067
回复 0
|
赞 0
|
浏览 4.5k
#include <iostream> #include <string> #include <stack> using namespace std; int main() { int n; cin >> n; string* s = new string[n]; for (int i = 0; i < n; i++) cin >> s[i]; for (int i = 0,j, flag = 0; i < n; i++) { stack <char> st; ...
huangdashuaige
2023年2月19日 20:39
P1067 括号的匹配
P1067
回复 0
|
赞 0
|
浏览 3.4k
#include <iostream> #include <stack> #include <string> using namespace std; int main(){ //使用栈实现括号匹配 int n; cin>>n;//有n行括号要输入 string s;//存放括号 for(int i=0;i<n;i++){ &n...
My_opt
2022年4月26日 12:49
c++ 短代码
P1067
回复 0
|
赞 3
|
浏览 6.4k
#include <iostream> #include <stack> #include <unordered_map> using namespace std; int n; string op; stack<char> stk; unordered_map<char, int> h = {{'{', 1}, {'[', 2}, {'(', 3}, {'<',4}, {'}', -1}, {']', -2}, {')', -3}, {'>',-4}}; int ma...
tuesdasy
2022年3月6日 13:12
括号匹配问题(注意多组输入,栈内清空)
P1067
回复 0
|
赞 1
|
浏览 6.7k
新手 #include <iostream> using namespace std; #include <string.h> #include <stack> char s[260]; stack <char> st; int main () { int n; scanf ("%d", &n); for (int j = 0; j < n; j++) { int flag = 0;//标记 scanf ("%s", s); int len = strle...
Dear_Mr_He
2022年2月3日 14:27
栈的应用——带优先级的括号匹配问题
P1067
回复 0
|
赞 3
|
浏览 7.0k
题目解析:用栈模拟即可,首先判断括号优先级,若判断错误则直接输出 NO,否则判断括号是否均配对,栈顶元素匹配就说明配对成功,将栈顶元素出栈,否则配对不成功,就将当前元素入栈。最后查看栈是否为空,若为空则是 YES,否则就是 NO。 #include<iostream> #include<cstring> #include<stack> using namespace std; int main() { int n; char s[256]; scanf("%d", &n); for (int...
zjx140
2021年9月10日 12:39
(C++) 优先级与字符都用栈,用map存储符号的优先级
P1067
回复 0
|
赞 0
|
浏览 7.0k
#include<iostream> #include<stack> #include<string> #include<map> using namespace std; int main(){ int n; map<char,int> m; m['{'] = 4; m['['] = 3;  ...
gekelh
2021年8月2日 18:44
很明显用栈,但是小菜鸡使用不熟练用的switch实现
P1067
回复 0
|
赞 3
|
浏览 8.0k
该方法比较好理解: // 题意描述: 在算术表达式中,除了加、减、乘、除等运算外,往往还有括号。 // 包括有大括号{},中括号[],小括号(),尖括号<>等。 对于每一对括号,必须先左边括号,然后右边括号; // 如果有多个括号,则每种类型的左括号和右括号的个数必须相等;对于多重括号的情形,按运算规则, // 从外到内的括号嵌套顺序为:大括号->中括号->小括号->尖括号。 // 例如,{[()]},{()},{{}}为一个合法的表达式,而([{}]),{([])},[{<>}]都是非法的。 #include<bits...
LVBU123
2021年3月23日 00:31
应该是最简洁的代码
P1067
回复 0
|
赞 1
|
浏览 9.1k
#include<bits/stdc++.h> using namespace std; int val[127]; int n; int main() { val['<'] = 1; val['('] = 2; val['['] = 3; val['{'] = 4;//定义括号优先级 cin >> n; while (n--) { stack <char> st;//定义栈 string s; cin >> s; ...
杨德胜
2021年3月16日 14:02
P1067 解题思路分享
P1067
回复 0
|
赞 0
|
浏览 7.0k
#include <bits/stdc++.h> using namespace std; int main() { map<char,int> m; m['<']=0,m['(']=1,m['[']=2,m['{']=3; int n; cin>>n; while(n--){ char s[260]; cin>>s; stack<char> st; for(int i=0; i<strlen(s); i++){ if(!st.empty()){ ...
1
2
3
题目
括号的匹配
题解数量
28
发布题解
热门题解
1
很明显用栈,但是小菜鸡使用不熟练用的switch实现
2
栈的应用——带优先级的括号匹配问题
3
c++ 短代码
4
括号的匹配 题解:C++ <stack>
5
括号的匹配 题解:新手方法简单易懂
6
括号的匹配 题解:
7
使用变量模拟栈
8
题目坑点
9
括号匹配问题(注意多组输入,栈内清空)
10
括号的匹配 题解:c++ stl中的stack容器和map容器实现。