1035.cpp

来自「杭电 acm部分代码 有兴趣的可以下载 谢谢」· C++ 代码 · 共 36 行

CPP
36
字号
#include<stdio.h>
#include<string>
int r,c,n;
char graph[12][12];
int hash[12][12];
void search(){
    int a=0,b=n-1,step=1;
    while((a>=0&&a<r&&b>=0&&b<c)&&(hash[a][b]==0)){
        if(hash[a][b]==0)
            hash[a][b]=step;
        if(graph[a][b]=='N')    a--;
        else if(graph[a][b]=='S')   a++;
        else if(graph[a][b]=='W')   b--;
        else if(graph[a][b]=='E')   b++;
        step++;
    }
    if(hash[a][b]==0)
        printf("%d step(s) to exit\n",step-1);
    else
        printf("%d step(s) before a loop of %d step(s)\n",hash[a][b]-1,step-hash[a][b]);
}
int main()
{
    int i,j;
    while(scanf("%d %d",&r,&c)==2){
        if(r==0&&c==0)
            break;
        scanf("%d",&n);
        for(i=0;i<r;i++)
            scanf("%s",graph[i]);
        memset(hash,0,sizeof(hash));
        search();
    }
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?