<span style="color: rgb(54, 46, 43); font-family: Arial; font-size: 14px; line-height: 26px;">简单模拟,直接用数组就过了</span>
#include <iostream>
using namespace std;
int n,m,step1,step2,v;
char ch[20][20];
void dzw(int x,int y)
{
if(x<=n&&x>=1&&y<=m&&y>=1)
{
step1++;
if(ch[x][y]=='W')
{
ch[x][y]=++v;
y-=1;
dzw(x,y);
}
else if(ch[x][y]=='S')
{
ch[x][y]=++v;
x+=1;
dzw(x,y);
}
else if(ch[x][y]=='N')
{
ch[x][y]=++v;
x-=1;
dzw(x,y);
}
else if(ch[x][y]=='E')
{
ch[x][y]=++v;
y+=1;
dzw(x,y);
}
else
{
step2=ch[x][y];
}
}
}
int main()
{
int x1,i,j;
while(cin>>n>>m&&(n!=0&&m!=0))
{
cin>>x1;
step1=step2=v=0;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
cin>>ch[i][j];
}
dzw(1,x1);
if(step2==0)
cout<<step1<<" step(s) to exit"<<endl;
else
cout<<step2-1<<" step(s) before a loop of "<<step1-step2<<" step(s)"<<endl;
}
return 0;
}