KDBC——9292详解

题目传送门
合肥市第39届信息学竞赛(2022年)
题目描述 Description
小可可的学校引进了一台智能清洁机器人,学校将机器人的工作区域划分为一个 n x n 大小的网格(如图1所示)。左上角单元格坐标为(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
样例解释:
image.png
机器人从(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<bits/stdc++.h>
using namespace std;
int n,m,row,col;
string s;
int main(){
	cin>>n>>m>>row>>col;
	cin>>s;
	int a=row,b=col;
	for(int i=0;i<s.size();i++){
		a=row,b=col;
		int cnt=0;
		for(int j=i;j<s.size();j++){
			if(s[j]=='R'){
				b++;
			}
			else if(s[j]=='L'){
				b--;
			}
			else if(s[j]=='U'){
				a--; 
			}
			else if(s[j]=='D'){
				a++;
			}
			if(a<0||a>=n||b<0||b>=n) break;
			cnt++;
		}
		cout<<cnt<<endl;
	}
    return 0;
}

yc:kimi_a

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值