CCF-CSP第36次认证第一题——移动(简单)

第36次认证第一题——移动(简单)

官网题目链接

参考题解

#include<iostream>
using namespace std;

int main() {
	int size, count;
	cin >> size >> count;
	for(int i = 0; i < count; i++) {
		int x, y;
		cin >> x >> y;
		string keys;
		cin >> keys;
		for(char key : keys) {
			switch (key) {
				case 'f': {
					if(y + 1 <= size) {
						y += 1;
					}
					break;
				} 
				case 'r': {
					if(x + 1 <= size){
						x += 1;
					}
					break;
				}
				case 'b': {
					if( y - 1 > 0){
						y -= 1;
					}
					break;
				}
				case 'l': {
					if(x - 1 > 0) {
						x -=1;
					}
					break;
				}
			}
		}
		cout << x << " " << y;
		cout << endl; //方便看结果,考试时不需要 
	}
}

反思

没仔细看题目,想当然认为跟之前的一样,不用自己考虑很多条件,以为题目说的是测试数据不会试图将机器人移出场地,输入测试样例后发现结果不一样,还调试半天,又感觉没问题,后来一看发现说的是50%的指令序列不会试图将机器人移出场地。。。浪费好久时间,本来10分钟搞定的事,服了。。

以后还是要仔细子任务!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值