第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分钟搞定的事,服了。。
以后还是要仔细子任务!