GESP2024年12月认证C++六级( 第三部分编程题(1)树上游走)

devtools/2025/1/15 21:57:52/

参考程序:

#include <iostream>
#include <string>using namespace std;int main() {long long n, s;  // n为移动次数,s为初始节点编号string moves;    // 移动指令串// 输入处理cin >> n >> s;cin >> moves;long long currentNode = s;  // 当前节点编号// 遍历每个移动指令并进行操作for (char move : moves) {if (move == 'U') {if (currentNode > 1) {currentNode /= 2;  // 向上移动到父节点}} else if (move == 'L') {currentNode = 2 * currentNode;  // 向左移动到左儿子} else if (move == 'R') {currentNode = 2 * currentNode + 1;  // 向右移动到右儿子}}// 输出最终的节点编号cout << currentNode << endl;return 0;
}

程序改进(引入栈与位运算实现数据防溢出)

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const ll INF = 1e12;
int n;
stack<char> st;
string c;
ll s;
int main()
{cin >> n >> s >> c;for(int i = 0; i < n; i ++){if(c[i] == 'U'){if(s == 1) continue;if(st.size()){st.pop();continue;}s >>= 1;}else if(c[i] == 'L'){if((s << 1) > INF){st.push('L');continue;}s = s << 1;}else{if((s << 1 | 1) > INF){st.push('R');continue;}s = s << 1 | 1;}}cout << s << "\n";return 0;
}


http://www.ppmy.cn/devtools/150771.html

相关文章

电脑之一键备份系统(One Click Backup System for Computer)

电脑之一键备份系统 相信使用电脑的的人都遇到过&#xff0c;电脑系统崩溃&#xff0c;开机蓝屏等原因&#xff0c;这个时候你急着用电脑办公&#xff0c;电脑却给你罢工是多么气人了&#xff0c;其实可以给电脑做一个系统备份。 最近每天都有系统蓝屏崩溃&#xff0c;这个实难…

leetcode 87. 扰乱字符串

题目&#xff1a;87. 扰乱字符串 - 力扣&#xff08;LeetCode&#xff09; dfs状态记录。 dfs&#xff1a;以两个字符串 [a1,a2,a3,a4] 和 [b1,b2,b3,b4]为例&#xff0c;可以往下搜以下几种情况&#xff0c;一种情况为true就能返回true F([a1],[b1]) && F([a2,a3,a4…

《自动驾驶与机器人中的SLAM技术》ch2:基础数学知识

目录 2.1 几何学 向量的内积和外积 旋转矩阵 旋转向量 四元数 李群和李代数 SO(3)上的 BCH 线性近似式 2.2 运动学 李群视角下的运动学 SO(3) t 上的运动学 线速度和加速度 扰动模型和雅可比矩阵 典型算例&#xff1a;对向量进行旋转 典型算例&#xff1a;旋转的复合 2.3 …

STM32 C++编程,怎样使用printf函数从串口输出中文字符

在STM32 C编程中&#xff0c;使用printf函数从串口输出中文字符是可行的&#xff0c;但需要注意字符编码的问题。由于STM32的默认编码是ASCII&#xff0c;而中文字符通常属于Unicode编码&#xff08;如UTF-8或GB2312&#xff09;&#xff0c;因此需要对字符编码进行转换和处理。…

探索图像编辑的无限可能——Adobe Photoshop全解析

文章目录 前言一、PS的历史二、PS的应用场景三、PS的功能及工具用法四、图层的概念五、调整与滤镜六、创建蒙版七、绘制形状与路径八、实战练习结语 前言 在当今数字化的世界里&#xff0c;视觉内容无处不在&#xff0c;而创建和编辑这些内容的能力已经成为许多行业的核心技能…

Codeforces Round 976 (Div. 2) and Divide By Zero 9.0(A-E)

链接&#xff1a;Dashboard - Codeforces Round 976 (Div. 2) and Divide By Zero 9.0 - Codeforces A. Find Minimum Operations 思路 可以观察发现这里有个进制的思想&#xff0c;转换为k进制把每位数相加即可 代码 void solve(){int n,k;cin>>n>>k;if(k1){…

浏览器处理文件,前端对二进制数可以使用的原生API,非xlsx等插件

参考帖子1&#xff1a;https://www.cnblogs.com/wanghuizhao/p/16534435.html 参考帖子2&#xff1a;https://blog.csdn.net/2301_77404895/article/details/138278262 参考帖子3&#xff1a;有企鹅的推广https://cloud.tencent.com/developer/information/%E6%9D%A5%E8%87%AAu…

ros2笔记-7.1 机器人导航介绍

7.1 机器人导航介绍 7.1.1 同步定位与地图构建 想要导航&#xff0c;就是要确定当前位置跟目标位置。确定位置就是定位问题。 手机的卫星导航在室内 受屏蔽&#xff0c;需要其他传感器获取位置信息。 利用6.5 章节的仿真&#xff0c;打开并运行 会发现轨迹跟障碍物都被记录…