描述
现在我们来简化蛇的身体,假设初始化的时候蛇的身体只有一个头而已(呵,当然是假设的),那么蛇去吃食物的时候就不必考虑碰到自己的身体了。
例:
5 5
…
S…
###.#
E…
那么从S到E最短的走法是EEESSWWW。说明:N(north),S(south),W(west),E(east)。如果吃不到食物就输出Can’t eat it!
注意:路径是最短的走的。
输入
输入数据有多组,每组输入的第一行是两个正整数R,C,表示行和列,3=<R,C<=100,下面输入R行C列的矩阵。
输入保证合法。
输出
每行输出最短的走法。
样例输入
5 5
…
S…
###.#
E…
样例输出
EEESSWWW
题目来源
TZOJ
分析:
求最短路径的轨迹,经典的BFS题,也很简单,当作复习。
代码:
#include<bits/stdc++.h>
using namespace std;
int dx[4]={
1,-1,0,0};
int dy[4]={
0,0,1,-1};
//0->S 1->N 2->E 3->W
char m[110][110];
int vis[110][110];//标记是否走过
bool f;//用来判断是否找到贪吃蛇。
int R,C