首页 > 其他 > 详细

poj 1573(水题)

时间:2021-08-04 19:28:01      阅读:22      评论:0      收藏:0      [点我收藏+]
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main(){
    int row,col,start,i,j,data[15][15],step,s1,s2;
    char c[15][15];
    bool flag;
    while(scanf("%d%d%d",&row,&col,&start)==3&&row){
        for(i=0;i<row;i++){
            scanf("%s",c[i]);
        }
        memset(data,0,sizeof(data));
        i = 0;j = start-1;
        step = 0;
        flag = false;
        while(true){
            if(i<0||i>=row||j<0||j>=col){
                break;
            }
            if(data[i][j]==0){
                data[i][j] = ++step;
                if(c[i][j]==N){
                    i--;
                }
                else if(c[i][j]==S){
                    i++;
                }
                else if(c[i][j]==W){
                    j--;
                }
                else if(c[i][j]==E){
                    j++;
                }
            }
            else{
                flag = true;
                s1 = step;
                s2 = data[i][j];
                break;
            }
        }
        if(flag)printf("%d step(s) before a loop of %d step(s)\n",s2-1,s1-s2+1);
        else printf("%d step(s) to exit\n",step);
    }
    return 0;
} 

 

poj 1573(水题)

原文:https://www.cnblogs.com/stevenzrx/p/15099469.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!