当前位置: 首页 > news >正文

2024/1/30 备战蓝桥杯 3-1 栈

目录

小鱼的数字游戏

P1427 小鱼的数字游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

表达式括号匹配

P1739 表达式括号匹配 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

【模板】栈

B3614 【模板】栈 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)


小鱼的数字游戏

P1427 小鱼的数字游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

思路:模拟+stl的stack

关于stack的操作:

std::stack<type> s :定义一个type类型的栈

s.push(x) :把x放入栈中

s.top() :取出栈顶元素,但不删除

s.pop() :删除栈顶元素

s.size() :返回栈中元素的数量

s.empty() :判断栈中是否为空(栈不空:while(!s.empty()) )

完整代码:

#include <bits/stdc++.h>
#define int long long
signed main() {int t;std::stack<int> s;while (std::cin >> t) {if (t == 0)break;else {s.push(t);}}while (!s.empty()) {std::cout << s.top() << " ";s.pop();}return 0;
}

表达式括号匹配

P1739 表达式括号匹配 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

思路:模拟+stl的stack

遇到左括号就进栈,遇到右括号并且栈不空的时候,栈顶元素出栈

完整代码:

#include <bits/stdc++.h>
#define int long long
signed main() {std::stack<char> st;std::string s;std::cin >> s;int n = s.length();s = " " + s;int flag = 0;for (int i = 1; i <= n; i++) {if (s[i] == '(') {st.push(s[i]);} else if (s[i] == ')' && st.size() != 0) {st.pop();} else if (s[i] == ')' && st.size() == 0) {flag = 1;} else if (s[i] == '@') {break;} elsecontinue;}//std::cout<<flag;if (st.empty() && flag == 0) {std::cout << "YES\n";} else {std::cout << "NO\n";}return 0;
}

【模板】栈

B3614 【模板】栈 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

思路:模拟+stl的栈

注意:题目中数据输入比较大,可以用字符串来存需要输入的数

完整代码:

#include <bits/stdc++.h>
#define int long long
signed main() {int t;std::cin >> t;while (t--) {int n;std::cin >> n;std::stack<std::string> st;std::string s, x;for (int i = 1; i <= n; i++) {std::cin >> s;if (s == "push") {std::cin >> x;st.push(x);}if (s == "query") {if (st.size() == 0) {std::cout << "Anguei!\n";} else {std::cout << st.top() << "\n";}}if (s == "pop") {if (st.empty()) {std::cout << "Empty\n";} else {st.pop();}}if (s == "size") {std::cout << st.size() << "\n";}}}return 0;
}

http://www.lryc.cn/news/291304.html

相关文章:

  • qt setStyleSheet 设置多个属性{}之间用空格间隔
  • 【Node.js基础】Node.js的介绍与安装
  • 树和二叉树基础
  • 第十四届蓝桥杯大赛软件赛省赛(C/C++ 大学B组)题解
  • 【计算机网络】网络的网络
  • SQL Server 函数参考手册
  • NTP时间同步服务器@客户端时钟同步设置
  • flask_django基于python的城市轨道交通公交线路查询系统vue
  • 【Spring连载】使用Spring Data访问Redis(四)----RedisTemplate
  • WriteFlow写作流GPT应用,激发创意的写作助手
  • matlab对负数开立方根得到虚数的解决方案
  • NFTScan 与 OneID 达成合作伙伴,支持多类型 DID 搜索!
  • c# textbox 提示文字
  • Springfox Swagger3从入门案例
  • HarmonyOS NEXT 星河版项目案例
  • 房屋租赁系统-java
  • docker环境搭建及其安装常用软件
  • 【Spring连载】使用Spring Data访问Redis(三)----连接模式
  • ppt背景图片怎么设置?让你的演示更加出彩!
  • SQL 关键字参考手册(一)
  • 快速排序|超详细讲解|入门深入学习排序算法
  • 指针+一维整型数组的基本运用 和 指针+一维整型数组的初步学习
  • APP测试基本流程以及APP测试要点总结
  • GPT-4 Vision调试任何应用,即使缺少文本日志 升级Streamlit七
  • ppt形状导入draw.io
  • GoLang和GoLand的安装和配置
  • BGAD文章复现笔记-1
  • 【EI会议推荐】第六届下一代数据驱动网络国际学术会议(NGDN 2024)
  • 聊聊java中的Eureka和Nacos
  • 系统架构设计师-21年-上午试题