自动机械装置(Robot)
最编程
2024-07-22 20:43:09
...
合肥市第39届信息学竞赛(2022年)
题目描述 Description
小可可的学校引进了一台智能清洁机器人,学校将机器人的工作区域划分为一个 n x n 大小的网格。左上角单元格坐标为(0,0)。右下角单元格坐标为(n-1,n-1)。
智能清洁机器人可以接受4种移动指令:
‘L’(向左移动),‘R’(向右移动),‘U’(向上移动)和’D’(向下移动)。
收一条指令后,机器人会按指令方向移动一个单元格。小可可给机器人的指令序列是一个长度为 m 的字符串 c,其中仅包含’L’、‘R’、'U’和’D’四种字符。机器人可以从c中的第i条指令 ci(0≤i≤m-1)开始执行,它将会逐条指令连续执行,直到指令序列结束。
在遇到下述情况之一时,机器人将会停止移动:
- ci的下一条指令将导致机器人移动到网格之外。
- ci没有后续指令可以执行。
机器人最开始位于坐标为(row,col)的单元格上。
小可可想知道,若机器人从指令序列c中第i条指令d开始执行,可以连续执行的指令数目。
输入描述 Input Description
共3行,第一行两个正整数 n.m 分别表示网格的行列数、指令序列的长度。第二行包含两个正整数 row和col,表示机器人最开始位于坐标为(row,col)的单元格上。第三行是一个长度为m的字符串c,表示小可可给机器人的指令序列。
输出描述 Output Description
输出共m行,每行一个整数。第i行表示从c中第i条指令ci开始执行,机器人可以连续执行的指令数目。
样例输入 Sample Input
输入:(robot.in) 3 6 0 1 RRDDLU
样例输出 Sample Output
输出:(robot.out) 1 5 4 3 1 0
数据范围及提示 Data Size & Hint
样例解释:
机器人从(0,1)出发,并从第 ⅰ条指令开始执行:
i | 机器人可以连续执行的指令数目 |
---|---|
0 | "RRDDLU"在移动到网格外之前,只能执行一条"R"指令。 |
1 | "RDDLU"可以执行全部五条指令,机器人仍在网格内,最终到达(0,0)。 |
2 | "DDLU"可以执行全部四条指令,机器人仍在网格内,最终到达(0,0)。 |
3 | "DLU”可以执行全部三条指令,机器人仍在网格内,最终到达(0,0)。 |
4 | "LU"在移动到网格外之前,只能执行一条"L"指令。 |
5 | "U"如果向上移动,将会移动到网格外。 |
保证对于所有数据满足:1≤n≦60,1≤m≤2000。0≤row, col≤n-1\
本题用的是模拟算法:
代码:
#include<iostream>
using namespace std;
int n,m,row,col;
string s;
int main(){
cin>>n>>m>>row>>col>>s;
s=" "+s;
for(int i=1;i<=m;i++){
int x=row,y=col,cnt=0;
for(int j=i;j<=m;j++){
if(s[j]=='U') x--;
if(s[j]=='D') x++;
if(s[j]=='L') y--;
if(s[j]=='R') y++;
if(x<0||x>n-1||y<0||y>n-1) break;
cnt++;
}
cout<<cnt<<endl;
}
return 0;
}
推荐阅读
-
汽车后面的字母是什么意思?-增压发动机 类型一:TSI 大众的TSI在国内外有着不一样的意思,国外的意思是Twincharger Stratified ion,指双增压(涡轮和机械增压)分层喷射技术。而国内的意思,T代表涡轮增压,Si代表燃油直喷,而不是T与FSI的简称,并没有燃油分层喷射技术,因为国内燃油质量一般,达不到分层喷射的要求。 在国内,我们经常会看到不同的TSI标志。有全红的、有就“SI”是红的、还有只有“I”是红的。但大家别误会他们技术不一样,这只是为了区分不同的排量而已。例如:2.0排量和1.8排量为“SI”是红色的,而2.0TSI车型中的高配车型或者高端车型则使用全红的标识,那么1.4排量的当然只能是只有“I”是红色的了。 类型二:TFSI TFSI发动机也是涡轮燃油直喷发动机它可以说是FSI发动机和涡轮增压器的结合。即涡轮增压(Turbocharger)+FSI。它的T和TSI中的T一样,表示采用涡轮增压技术,后面的FSI即燃油分层喷射发动机(Fuel Stratified ion),S表示“分层次的”。TFSI发动机既分层喷射,又有涡轮增压,是TSI发动机的升级版。 类型三:TDI TDI是英文Turbo Direct ion的缩写,意为涡轮增压直接喷射柴油发动机。 为了解决SDI(自然吸气式柴油发动机)的先天不足,人们在柴油机上加装了涡轮增压装置,使得进气压力大大增加,压缩比一般都到10以上,这样就可以在转速很低的情况下达到很大的扭矩,而且由于燃烧更加充分,排放物中的有害颗粒含量也大大降低。TDI技术使燃油经由一个高压喷射器直接喷射入气缸,因为活塞顶地造型是一个凹陷式的碗状设计,燃油会在气缸内形成一股螺旋状的混合气。 自然吸气发动机类型一:CGI/CDI 发动机CGI技术是一种奔驰公司开发的缸内直喷技术。供油动作已完全独立于进门与活塞系统之外,ECU也因而拥有更多的主导权。超乎传统喷射理论的稀薄燃烧与更多元的混合比便得以实现。在稳定行进或低负载状态下,采用缸内直喷设计的发动机得以进入Ultra lean(精实)模式。 在此设定下,发动机于进气行程时只能吸进空气,至于喷油嘴则在压缩行程才供给燃料,以达到节约的效果。根据实际测试,其最高能达到1:65的油、气比例,除了节能表现相当惊人,整体动力曲线也能够维持相当高的平顺度。而CDI则为该技术的柴油版本。类型二:VVT/CVVT/VVT-I/MIVEC/VTEC/i-VTEC 发动机可变气门正时技术(VVT,Variable Valve Timing)原理是根据发动机的运行情况,调整进气(排气)的量,和气门开合时间、角度,使进入的空气量达到最佳,提高燃烧效率。优点是省油,功升比大而缺点是中段转速扭矩不足。 目前本田的VTEC、i-VTEC、;丰田的VVT-i;日产的CVVT;三菱的MIVEC;铃木的VVT;现代的VVT;起亚的CVVT;江淮的VVT;长城的VVT等也逐渐开始使用。总的说来其实就是一种技术,名字不同。 但部分车型仅具有可变气门技术而没有正时技术,虽然比一般发动机要省油,但依然赶不上带正时技术的发动机。绿色发动机 类型一:Hybrid
-
自动机械装置(Robot)
-
全面解析:走进AI世界里的机械精灵 - 机器人Robot:从起源到实战应用的详尽指南
-
全面解析:走进AI世界里的机械精灵 - 机器人Robot:从起源到实战应用的详尽指南
-
机器人大探秘:区别在于机械化、自动化与智能化,究竟有何不同?
-
使用ROS和Python实现的机械手臂操控指南 - 详解robot机械手操作教程
-
简易运用Robot类进行Java自动化操作指南
-
老式飞机如何实现自动驾驶?只要给它装上机械臂就行了。
-
自动化毕业设计]基于机械视觉控制的蟋蟀控制装置
-
宝马水鸟摩托车加装 "自动驾驶仪"、遥控装置和自动泊车装置