ZOJ4115 Wandering Robot

2023-11-10 22:00
文章标签 robot zoj4115 wandering

本文主要是介绍ZOJ4115 Wandering Robot,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

模拟 思维题

AC代码:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 typedef unsigned long long ull;
 5 
 6 char a[100005];
 7 
 8 int main(){
 9     int t, n, k;
10     cin>>t;
11     ll x0, y0, x, y;
12     ll ans1, ans2;
13     while (t--){
14         memset(a, 0, sizeof(a));
15         cin>>n>>k;
16         cin>>a;
17         x0 = 0, y0 = 0;
18         ans1 = 0, ans2 = 0;
19         for (int i = 0; i < n; i++){
20             if (a[i] == 'L') x0--;
21             else if (a[i] == 'R') x0++;
22             else if (a[i] == 'U') y0++;
23             else if (a[i] == 'D') y0--;
24             if (abs(x0) + abs(y0) > ans1)
25                 ans1 = abs(x0) + abs(y0);
26         }
27         ans2 = (k - 1) * (abs(x0) + abs(y0));
28         x = x0 * (k - 1);
29         y = y0 * (k - 1);
30         for (int i = 0; i < n; i++){
31             if (a[i] == 'L') x--;
32             else if (a[i] == 'R') x++;
33             else if (a[i] == 'U') y++;
34             else if (a[i] == 'D') y--;
35             ans2 = max(ans2, abs(x) + abs(y));
36         }
37         cout<<max(ans1, ans2)<<endl;
38     }
39     return 0;
40 }

 

转载于:https://www.cnblogs.com/Misuchii/p/10896807.html

这篇关于ZOJ4115 Wandering Robot的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Robot Operating System——加速度信息

大纲 应用场景1. 机器人运动控制场景描述具体应用 2. 传感器数据处理场景描述具体应用 3. 状态估计场景描述具体应用 4. 物体运动分析场景描述具体应用 5. 机器人仿真场景描述具体应用 定义字段解释 案例 geometry_msgs::msg::Accel 是 ROS 2 中的一个消息类型,用于表示加速度信息,包括线性加速度和角加速度。它通常用于机器人导航、控制和运动规划等场

CodeForces 321 A - Ciel and Robot

【题目链接】:click here~~ 【题目大意】:一个robot 机器人 ,可以根据给定的指令行动,给你四种指令,robot初始位置是(0,0),指令一出,robot会重复行动,判断能否在无限行动的情况下经过点(n,m)。 【解题思路】其实仔细模拟一下,可以发现是有周期的,判断即可,见代码吧~~ 代码: #include <iostream>#include <algorithm

ROS 2(Robot Operating System 2)示例项目代码

一个简单的ROS 2(Robot Operating System 2)示例项目代码,这个项目将包括两个节点:一个发布者(Publisher)节点和一个订阅者(Subscriber)节点。在这个例子中,发布者节点将周期性地发布一个字符串消息,而订阅者节点将接收这个消息并打印出来。 第一步:创建ROS 2工作空间 首先,你需要有一个ROS 2环境设置好。然后,你可以创建一个新的工作空间并初始化它

Robot Operating System——距离传感器数据

大纲 应用场景定义字段解释 案例 sensor_msgs::msg::Range 是 ROS (Robot Operating System) 中的一个消息类型,用于表示距离传感器(如超声波传感器、激光测距仪等)的测量数据。它包含了距离测量值以及传感器的相关信息。 应用场景 机器人导航 避障:在机器人导航中,距离传感器可以用于检测前方的障碍物。通过发布 Range 消息,机器

Robot Operating System——自定义Service/Client通信消息结构

大纲 初始化环境生成自定义服务的工程创建包自定义消息package.xml完整文件 CMakeLists.txt完整文件 编译注册 使用自定义服务的工程创建包代码CMakeLists.txt编译运行 工程地址参考资料 在《Robot Operating System——自定义订阅/发布的消息结构》一文中,我们讲解了如何自定义消息结构。这个消息是发布者向订阅者发送的消息,具有单向性。

Robot Operating System——多个自由度的关节状态信息

大纲 应用场景定义字段解释 案例 sensor_msgs::msg::MultiDOFJointState 是 ROS (Robot Operating System) 中的一个消息类型,用于表示具有多个自由度(Degrees of Freedom, DOF)的关节状态。它通常用于传输和处理机器人中复杂关节的状态信息。 应用场景 机器人控制 多自由度机械臂:在多自由度机械臂中

Robot Operating System——创建可执行文件项目的步骤

大纲 初始化环境创建Package代码添加依赖(package.xml)修改编译描述find_package寻找依赖库指定代码路径和编译类型(可执行文件/动态库)链接依赖的库完整文件 编译测试总结参考资料 之前我们看到ROS2中,有的Node的实现逻辑存在于动态库中,而动态库又有隐式加载和手动加载等几种模式。这些例子都比较复杂。本文将介绍如何从0到1创建一个最简单的工程,其Node

setting up your robot with tf(二)

1,using the robot state publisher on your own robot 上面一节是使用TF树结构来表示不同的框架之间的关系,且这棵TF转换树是一棵单遍历的树,表示了不同框架之间的关系,我们写了一个节点,用来定义两个框架的关系,这样下次使用就能自动调用这种关系,这样tf就帮我们做了很重要的一份工作。这一节我们学习robot state publisher。当我们的机

setting up your robot with tf(一)

1,setting up your robot using tf     官网学习http://wiki.ros.org/tf/Tutorials 2,transform configuration Many ROS packages require the transform tree of a robot to be published using thetf software libra

Contact-Rich Robot ManipulationTask:grinding and Peg-in-Hole Assembly

Contact-Rich Robot Manipulation Task涵盖了多种需要机器人与环境或物体进行密切接触的复杂操作。 1. Grinding(研磨) 任务描述:研磨是制造业中常见的加工过程,涉及使用研磨工具去除材料表面的一层或多层,以达到预定的形状、尺寸或表面光洁度。在机器人研磨任务中,机器人需要精确控制其末端执行器(如研磨头)的运动,以确保在工件上施加正确的力和速度。挑战: 精确