您的位置:首页 > 其它

hdoj1035

2015-01-22 21:52 190 查看
#include<cstdio>
#include<memory>
using namespace std;
char matrix[12][12];
int main(){
int n,m,e;
int i,j;
int steps[12][12];
int move;
while(scanf("%d %d %d",&n,&m,&e)){
if(n==0) break;
memset(steps,-1,sizeof(steps));
getchar();
for(i=1;i<=n;i++){
for(j=1;j<=m;j++) matrix[i][j]=getchar();
getchar();
}
i=1;j=e;
move=0;
steps[i][j]=0;
while(i>=1&&i<=n&&j>=1&&j<=m){
switch(matrix[i][j]){
case 'N':i--;break;
case 'S':i++;break;
case 'E':j++;break;
case 'W':j--;break;
}
move++;
if(steps[i][j]!=-1) break;
else steps[i][j]=move;
}
if(steps[i][j]==move) printf("%d step(s) to exit\n",move);
else printf("%d step(s) before a loop of %d step(s)\n",steps[i][j],move-steps[i][j]);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: