描述
有一个迷宫,迷宫里有一个人,迷宫是规格为 N*N 的方格,人处于某一位置,可以选择向上下左右方向前进,但是要保证面对的不是墙壁,否则无法向前行走。
输入
迷宫的规格,用一个正整数 N (2<=N<=20)表示,占一行;输入一对数据 m,n(第m 行,第 n 列),表示人所在的位置坐标,以空格隔开,占一行;输入要尝试的前进方向,“w”“s”“a”“d”分别代表上、下、左、右,占一行。
输出
“Y”
表示可以向该方向前进;最后一行输出回车
“N”
表示无法向该方向前进;最后一行输出回车
输入样例
4
0 3
s
输出样例
Y
#include <stdio.h>
int main(void)
{
int n;//输入迷宫的规格
scanf("%d", &n);
int X[4] = {-1, 1, 0, 0};
int Y[4] = {0, 0, -1, 1};
int x, y;
scanf("%d%d", &x, &y);
getchar();
char op;
scanf("%c", &op);
switch(op)
{
case 'w':
x = x + X[0];
y = y + Y[0];
break;
case 's':
x = x + X[1];
y = y + Y[1];
break;
case 'a':
x = x + X[2];
y = y + Y[2];
break;
case 'd':
x = x + X[3];
y = y + Y[3];
break;
}
if(x < 0 || x >= n || y < 0 || y >= n)
{
printf("N");
}
else
{
printf("Y");
}
return 0;
}