YACS(上海计算机学会竞赛平台)2023年12月月赛——移动复位

2024-01-05 16:28

本文主要是介绍YACS(上海计算机学会竞赛平台)2023年12月月赛——移动复位,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

移动复位

内存限制: 256 Mb时间限制: 1000 ms

题目描述

二维平面上有一个点。该点最初所在的位置称之为起点。接下来,该点接受了一串命令,每个命令可以用一个大写字母表示:

  • R 表示该点沿 X 轴坐标正方向移动了一个单位;
  • L 表示该点沿 X 轴坐标负方向移动了一个单位;
  • U 表示该点沿 Y 轴坐标正方向移动了一个单位;
  • D 表示该点沿 Y 轴坐标负方向移动了一个单位。

执行完这些指令后,该点不一定回到起点。请计算至少需要增加多少条指令,才能让这个点回到起点?如果该点已经到达起点,则输出 0。

输入格式
  • 单个字符串:表示给定的指令序列
输出格式
  • 单个整数:表示最少还需添加最少指令才能回到起点。
数据范围
  • 字符数量不超过 100000
样例数据
输入1:

LRUD

输出1:

0

输入2:

LLUU

输出2:

4

思考过程

可以运用初中的知识:

1.平面直角坐标系相当于两个互相垂直的数轴

2.绝对值可以表示距离(表示方法:|0-x|

——————————————————————————

L相当于x-1,R相当于x+1,U相当于y+1,D相当于y-1

操作完上下左右后,最后的答案就是\left | 0-x \right |+\left | 0-y \right |

代码实现
#include <bits/stdc++.h>
using namespace std;
int x, y;int main() {string s;cin >> s;for (int i = 0; i < s.length(); i++) {if (s[i] == 'R')x++;if (s[i] == 'L')x--;if (s[i] == 'U')y++;if (s[i] == 'D')y--;}cout << abs(0 - x) + abs(0 - y);return 0;
}

这篇关于YACS(上海计算机学会竞赛平台)2023年12月月赛——移动复位的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/573454

相关文章

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

双系统电脑中把Ubuntu装进外接移动固态硬盘的全过程

《双系统电脑中把Ubuntu装进外接移动固态硬盘的全过程》:本文主要介绍如何在Windows11系统中使用VMware17创建虚拟机,并在虚拟机中安装Ubuntu22.04桌面版或Ubunt... 目录一、首先win11中安装vmware17二、磁盘分区三、保存四、使用虚拟机进行系统安装五、遇见的错误和解决

使用FileChannel实现文件的复制和移动方式

《使用FileChannel实现文件的复制和移动方式》:本文主要介绍使用FileChannel实现文件的复制和移动方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录使用 FileChannel 实现文件复制代码解释使用 FileChannel 实现文件移动代码解释

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

Qt把文件夹从A移动到B的实现示例

《Qt把文件夹从A移动到B的实现示例》本文主要介绍了Qt把文件夹从A移动到B的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录如何移动一个文件? 如何移动文件夹(包含里面的全部内容):如何删除文件夹:QT 文件复制,移动(

Python重命名文件并移动到对应文件夹

《Python重命名文件并移动到对应文件夹》在日常的文件管理和处理过程中,我们可能会遇到需要将文件整理到不同文件夹中的需求,下面我们就来看看如何使用Python实现重命名文件并移动到对应文件夹吧... 目录检查并删除空文件夹1. 基本需求2. 实现代码解析3. 代码解释4. 代码执行结果5. 总结方法补充在

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11