📄 1529.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1529 on 2005-09-19 at 15:13:54 */
#include <stdio.h>
int main()
{
int row, col, posix, posiy, arrow;
char maze[60][60], ch, dir;
int i, j;
char DIRECTION[4] = {'N', 'E', 'S', 'W'};
scanf("%d %d", &row, &col);
while(getchar() != '\n')
;
for(i = 0; i < row; i++) {
gets(maze[i]);
}
arrow = 0;
dir = 'N';
scanf("%d %d", &posix, &posiy);
while(1) {
ch = getchar();
if(ch == 'Q') {
break;
} else if(ch == 'R') {
arrow++;
arrow %= 4;
dir = DIRECTION[arrow];
} else if(ch == 'L') {
arrow += 3;
arrow %= 4;
dir = DIRECTION[arrow];
} else if(ch == 'F') {
switch(arrow) {
case 0:
if(maze[posix-2][posiy-1] == ' ') {
posix--;
}
break;
case 1:
if(maze[posix-1][posiy] == ' ') {
posiy++;
}
break;
case 2:
if(maze[posix][posiy-1] == ' ') {
posix++;
}
break;
case 3:
if(maze[posix-1][posiy-2] == ' ') {
posiy--;
}
break;
default:
break;
}
}
}
printf("%d %d %c\n", posix, posiy, dir);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -