C++知识点总结(23):高级模拟算法真题 ★★★★☆《遥控汽车》《乒乓球比赛》

遥控汽车

一、审题

题目描述

小明得到了他最心爱的遥控汽车,他迫不及待的想要试试自己的遥控汽车,他把遥控汽车放在地面上,经过操作后汽车到了某个位置。
假设地面为一个 ( x , y ) (x,y) (x,y) 的坐标平面,遥控汽车一开始处于坐标原点的位置,且面向 x x x 轴的正方向,遥控汽车的指令一共是 4 4 4 条:
1、Left:表示遥控汽车向左转;
2、Right:表示遥控汽车向右转;
3、Back:表示遥控汽车向后转;
4、Go x:表示遥控汽车向前进 x x x 个单位( 1 ≤ x ≤ 100 1\le x\le100 1x100);
现在给你 n n n 条指令,你能通过指令得到遥控汽车最终的位置吗?(又是我们帮忙 )

输入描述

一共 n + 1 n+1 n+1 行,第一行为一个正整数 n n n 1 ≤ n ≤ 1 0 4 1\le n\le10^4 1n104),表示指令条数。
接下来 n n n 行,每行一条指令,指令内容为题目描述的四种情况。

输出描述

输出遥控汽车的最终位置,用坐标 ( x , y ) (x,y) (x,y) 表示。

二、参考答案

#include <iostream>
#include <string>
using namespace std;int n;
string order;
int dis;int way = 4;
/* way: 0 上1 右2 下3 左4 默认右
*/
int x, y;int main()
{// 输入数据cin >> n;for (int i = 1; i <= n; i++){cin >> order;// 模拟if (order == "Left"){way = (way + 1) % 4;continue;}if (order == "Right"){way = (way + 3) % 4;continue;}if (order == "Back"){way = (way + 2) % 4;continue;}if (order == "Go"){cin >> dis;if (way == 0){x += dis;continue;}if (way == 1){y += dis;continue;}if (way == 2){x -= dis;continue;}if (way == 3){y -= dis;continue;}if (way == 4){x += dis;}}}// 输出结果cout << "(" << x << "," << y << ")";return 0;
}

乒乓球比赛

一、审题

题目描述

国际乒联现任主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中 11 11 11 分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白 11 11 11 分制和 21 21 21 分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。
华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在 11 11 11 分制和 21 21 21 分制下,双方的比赛结果(截至记录末尾)。
比如现在有这么一份记录,(其中 W 表示华华获得一分,L 表示华华对手获得一分):WWWWWWWWWWWWWWWWWWWWWWLW 11 11 11 分制下,此时比赛的结果是华华第一局 11 : 0 11:0 11:0 获胜,第二局 11 : 0 11:0 11:0 获胜,正在进行第三局,当前比分 1 : 1 1:1 1:1。而在 21 21 21 分制下,此时比赛结果是华华第一局 21 : 0 21:0 21:0 获胜,正在进行第二局,比分 2 : 1 2:1 2:1。如果一局比赛刚开始,则此时比分为 0 : 0 0:0 0:0。直到分差大于或者等于 2 2 2,才一局结束。
你的程序就是要对于一系列比赛信息的输入(WL形式),输出正确的结果。

输入描述

每个输入文件包含若干行字符串,字符串有大写的 WLE 组成。其中 E 表示比赛信息结束,程序应该忽略 E 之后的所有内容

输出描述

输出由两部分组成,每部分有若干行,每一行对应一局比赛的比分(按比赛信息输入顺序)。其中第一部分是 11 11 11 分制下的结果,第二部分是 21 21 21 分制下的结果,两部分之间由一个空行分隔。

二、参考答案

#include <iostream>
#include <string>
#include <cmath>
using namespace std;string a, d;
int x, y;int main()
{while (cin >> d){a += d;}for (int i = 0; i < a.length(); i++){if (a[i] == 'W') // 华华{x++;}else if (a[i] == 'L') // 对手{y++;}if (a[i] == 'E' || abs(x-y) >= 2 && (x >= 11 || y >= 11)){// 结束比赛cout << x << ":" << y << endl;x = 0;y = 0;}}cout << endl;x = 0;y = 0;for (int i = 0; i < a.length(); i++){if (a[i] == 'W'){x++;}else if (a[i] == 'L'){y++;}if (a[i] == 'E' || abs(x-y) >= 2 && (x >= 21 || y >= 21)){cout << x << ":" << y << endl;x = 0;y = 0;}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/731925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为北向网管NCE开发教程(1)闭坑选接口协议

华为北向网管NCE开发教程&#xff08;1&#xff09;闭坑选接口协议 华为北向网管NCE开发教程&#xff08;2&#xff09;REST接口开发 华为北向网管NCE开发教程&#xff08;3&#xff09;CORBA协议开发 本文一是记录自己开发华为北向网管遇到的坑&#xff0c;二是给需要的人&…

Androidstudio实现登录按钮按下变色

在activity_main.xml中&#xff0c;写如下代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"androi…

简历–工作经历–通用

文章目录 底层逻辑导图要做到&#xff1a;避免出现&#xff1a;爽文模版&#xff1a;逆境努力逆袭&#xff1a;娱乐 底层逻辑 写作底层逻辑&#xff1a; 简历是给面试者/老师看的&#xff0c;要让人家看起来轻松。 工作经历方面&#xff0c;时间一般是倒着写的&#xff08;考官…

基于git推送的ES检索pdf内容优化思路与代码实现

写在前面 在之前的内容中我们已经介绍了创建gitbucket的webHook&#xff0c;使得仓库有更新时自动推送到我们定义的接口&#xff1b;然后Java读取仓库的文件转码写入ES库&#xff0c;这些核心流程已经实现。 1. 实现ES检索pdf等文件内容的插件 2. 基于GitBucket的Hook构建ES…

Ubuntu22.04.4降级到底版本

安装Nvidia CUDA Toolkit 12.1 需要系统版本22.04.z(z<3)&#xff0c;坑的是安装系统时注意了但是安装系统后自动升级变成了22.04.4,再重装系统比较麻烦&#xff0c;现提供以下自动降级的方法&#xff1a; 查看当前安装的内核版本&#xff1a; 在终端中运行以下命令&#…

解决虚拟机静态网址设置后还是变动的的问题

源头就是我的虚拟机静态网址设置好了以后但是网址还是会变动 这是我虚拟机的配置 vi /etc/sysconfig/network-scripts/ifcfg-ens33 这是出现的问题 进入这里 cd /etc/sysconfig/network-scripts/ 然后我去把多余的ens33的文件都删了 然后还不行 后来按照这个图片进行了下 然后…

中国电信提速云计算重庆基地二期项目开建预计2020年底建成

4月3日&#xff0c;中国电信重庆公司消息称&#xff0c;在大力加快5G网络、数据中心等新型基础设施建设的同时&#xff0c;中国电信全面加快云计算重庆基地项目二期建设。 该项目拥有超过20万套。 服务器运营能力预计年内完成。 据重庆电信相关负责人介绍&#xff0c;中国电信水…

YOLOv8-Seg改进:特征融合篇 | GELAN(广义高效层聚合网络)结构来自YOLOv9

🚀🚀🚀本文改进:使用GELAN改进架构引入到YOLOv8 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLSdv 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 1)手把手教你如何训练YOLOv8-seg; 2)模型创新,提升分割性能; 3)独家自研模块助力分割; 1.YO…

Spring学习 基础(二)Bean和AOP

3、Spring Bean Bean 代指的就是那些被 IoC 容器所管理的对象&#xff0c;我们需要告诉 IoC 容器帮助我们管理哪些对象&#xff0c;这个是通过配置元数据来定义的。配置元数据可以是 XML 文件、注解或者 Java 配置类。 Bean的创建方式 1. XML 配置文件&#xff1a; 传统上&am…

打开stable diffusion webui时,提示缺少clip或clip安装不上怎么办

在当前数字化时代&#xff0c;软件工具的应用已经成为人们日常生活和工作中不可或缺的一部分。而在使用各种软件工具的过程中&#xff0c;遇到一些技术性问题也是常有的事情。比如&#xff0c;在打开 Stable Diffusion WebUI 这样一个功能强大的工具时&#xff0c;有时会遇到缺…

如何系统的学习Python——特殊方法(魔法方法)

Python中&#xff0c;特殊方法&#xff0c;也被称为魔法方法或双下划线方法&#xff0c;是在类定义中具有特殊名称的方法&#xff0c;它们用于实现类的特定行为。 这些方法以双下划线开头和结尾&#xff0c;例如 __init__、__str__、__add__ 等。下面是一些常用的特殊方法以及…

python基础篇--学习记录2

1.深浅拷贝 l1 ["张大仙","徐凤年",["李淳刚","邓太阿"]] # 变量名对应的就是内存地址,这里就是将l1的内存地址给了l2 # 现在两个变量指向同一个内存地址,l1变化l2也会变化 l2 l1 现在的需求是l2是l1的拷贝版本,但是两者是完全分割…

Java使用xlsx-streamer和EasyExcel解决读取超大excel文件数据处理方法

前言 最近有个项目在生产环境做数据导入时&#xff0c;发现开始执行导入任务会出现cpu狂飙的情况。几番定位查找发现是在读取excel的时候导致此问题的发生&#xff0c;因此在通常使用的为POI的普通读取&#xff0c;在遇到大数据量excel&#xff0c;50MB大小或数五十万行的级别的…

基于 HBase Phoenix 构建实时数仓(2)—— HBase 完全分布式安装

目录 一、开启 HDFS 机柜感知 1. 增加 core-site.xml 配置项 2. 创建机柜感知脚本 3. 创建机柜配置信息文件 4. 分发相关文件到其它节点 5. 重启 HDFS 使机柜感知生效 二、主机规划 三、安装配置 HBase 完全分布式集群 1. 在所有节点上配置环境变量 2. 解压、配置环境…

990-52产品经理:Important Decision-Making Skills That Employers Value 雇主看重的重要决策技能

Important Decision-Making Skills That Employers Value 雇主看重的重要决策技能 Different employers look for different things, of course, but decision-making skills are sought by virtually all companies. That’s because all employees are faced with decisions…

微信小程序onLoad加载定义好的函数

这里小程序开发中容易犯的错误-1写自定义目录标题 给客户做一个程序。需要在页面加载的时候在onLoad(options){}中加载定义好的函数&#xff0c;代码如下 onLoad(options) {get_week_()},运行时老报错 后来修改为正确的代码 onLoad(options) {this.get_week_()//必须加this},再…

YOLOv8优化策略:SPPF涨点篇 |引入YOLOv9的SPPELAN

🚀🚀🚀本文改进:SPP创新结合ELAN,来自于YOLOv9,助力YOLOv8,将SPPELAN代替原始的SPPF 🚀🚀🚀YOLOv8改进专栏:http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 1.YOLOv9介绍 论文: 2402.13616.pdf (arxiv.org) 摘要: 如今…

Linux的top命令解析

Top命令是什么 TOP命令是Linux下常用的性能分析工具&#xff0c;能够实时显示系统中各个进程的资源占用状况。 TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系…

理解卷积神经网络(CNN)

1. 引言&#xff1a;什么是CNN 卷积神经网络&#xff08;CNN&#xff09;是一种专为处理具有类似网格结构的数据&#xff08;如图像&#xff09;而设计的深度学习架构。自从在图像处理和计算机视觉领域取得突破性成就以来&#xff0c;CNN已成为这些领域的核心技术之一。 CNN的…

RT-DETR优化改进:下采样涨点篇 |引入YOLOv9的下采样ADown

🚀🚀🚀本文改进:YOLOv9的下采样ADown助力RT-DETR,将ADown添加在backbone和head处,提供多个yaml改进方法 🚀🚀🚀RT-DETR改进创新专栏:http://t.csdnimg.cn/vuQTz 🚀🚀🚀学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 🚀🚀🚀RT-DETR模型…