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

天梯赛补题

算式拆解

链接:L2-053 算式拆解 - 团体程序设计天梯赛-练习集


 分析:

        本题的意思是给出一个带括号的运算式,需要根据括号以及运算符本身 按照运算顺序输出各个子运算式(不带括号)。本题可参考洛谷上的一道后缀表达式,用栈进行实现。对字符串进行遍历,如果遇到左括号那么说明后边就是一个表达式,将后边的内容给连起来。当遇到右括号的时候说明此表达式已经结束,并且此时就是优先级最高的表达式,将栈中最近的一个表达式输出即可。

代码:

#include <iostream>
#include <string>
#include <stack>
using namespace std;
int main()
{stack<char> t;string s,a;cin >> s;for(auto i:s){if(i!=')') t.push(i);//(((2+3)*4)-(5/(6*7)))else//此时为‘)’的时候 {while(t.top()!='('){a=t.top()+a;t.pop(); }cout << a << endl;t.pop(); a.clear();}}return 0;
}

这不是字符串题

题目链接:L1-110 这不是字符串题 - 团体程序设计天梯赛-练习集


 分析:

        这是一道超级大模拟,尤其是操作一,实现起来极其繁琐,非常考验基本功以及对vector函数的使用熟练度。没什么好说的,直接看代码吧

代码:

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;int main() 
{int n, m;cin >> n >> m;vector<int> v(n);for (int i = 0; i < n; i++)cin >> v[i];for (int i = 0; i < m; i++) {int op;cin >> op;if (op == 1) {int l1, l2;cin >> l1;vector<int> a(l1);for (int j = 0; j < l1; j++)cin >> a[j];cin >> l2;vector<int> b(l2);for (int j = 0; j < l2; j++)cin >> b[j];for (int k = 0; k <=v.size() - l1; k++) {int flag = 1;for (int j = 0; j < l1; j++) {if (v[k + j] != a[j]) {flag = 0;break;}}if(flag){v.erase(v.begin() + k, v.begin() + k + l1);v.insert(v.begin() + k, b.begin(), b.end());break;}}} else if (op == 2) {int size = v.size();for (int k = 0; k < size - 1; k++) {if ((v[k] + v[k + 1]) % 2 == 0) {v.insert(v.begin() + k + 1, (v[k] + v[k + 1]) / 2);k++;size++;}}} else if (op == 3) {int l, r;cin >> l >> r;reverse(v.begin() + l - 1, v.begin() + r);}}for (int i = 0; i < v.size(); i++){if (i != v.size() - 1) cout << v[i] << " ";else cout << v[i] << endl;}return 0;
}    

相关文章:

  • Kafka 详解
  • Qt creator 16.0.1 语言家失效解决方法
  • 使用 VSCode 编写 Markdown 文件
  • Vscode已经打开的python项目,如何使用已经建立的虚拟环境
  • 局部最小实验--用最小成本确保方向正确
  • 信息学奥赛一本通 1505:【例 2】双调路径 | 洛谷 P5530 [BalticOI 2002] 双调路径
  • 03-谷粒商城笔记
  • MongoDB(docker版)备份还原
  • 八大排序——选择排序/堆排序
  • Android APP 爬虫操作
  • 海外产能达产,威尔高一季度营收利润双双大增
  • 【k8s】docker、k8s、虚拟机的区别以及使用场景
  • shell脚本1
  • SwiftUI 常用控件简介
  • Hi3518E官方录像例程源码流程分析(五)
  • PNG透明免抠设计素材大全26000+
  • python异步协程async调用过程图解
  • HTTP 请求头的 key 不区分大小写。
  • FlinkUDF用户自定义函数深度剖析
  • 洛谷5318C语言题解
  • 冲击一英里4分钟大关,基普耶贡挑战女子中长跑极限
  • 云南大理州洱源县发生4.8级地震,震源深度10千米
  • 内蒙古镶黄旗委原书记好毕斯哈拉图履新锡林郭勒盟民政局局长
  • 特斯拉一季度净利下滑七成,马斯克表态将继续倡导关税下调
  • A股三大股指涨跌互现:人形机器人产业链爆发,两市成交超1.2万亿元
  • 透纳仍是英国最好的艺术家,浦东美术馆有他的画展