zoukankan      html  css  js  c++  java
  • POJ1573Robot Motion

    http://poj.org/problem?id=1573

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #include<cstring>
     4 
     5 int main()
     6 {
     7     int step[15][15],n,m,x,y,s;
     8     int visit[15][15];
     9     char map[15][15];
    10     while(scanf("%d%d%d",&n,&m,&y),n||m||y)
    11     {
    12         /*for(int i=1;i<=n;i++)
    13         {
    14             scanf("%s",map[i]+1);
    15         }*/
    16        for(int i = 1 ; i <= n ; i ++)
    17         {
    18             getchar();//吃掉换行
    19             for(int j = 1 ; j <= m ; j++)
    20             {
    21                 scanf("%c",&map[i][j]) ;
    22             }
    23         }
    24         memset(visit,0,sizeof(visit));
    25         s=0,x=1,visit[x][y]=1,step[x][y]=s;
    26         while(1)
    27         {
    28             switch(map[x][y])
    29             {
    30                 case 'N': x--;break;
    31                 case 'S': x++;break;
    32                 case 'E': y++;break;
    33                 case 'W': y--;break;
    34             }
    35             s++;
    36             if(visit[x][y])
    37             {
    38                 printf("%d step(s) before a loop of %d step(s)
    ",step[x][y], s-step[x][y]);
    39                 break;
    40             }
    41             visit[x][y]=1;
    42             step[x][y]=s;
    43             if(x<1 || y<1 || x>n || y>m)
    44             {
    45                 printf("%d step(s) to exit
    ",s);
    46                 break;
    47             }
    48         }
    49     }
    50     return 0;
    51 }
    View Code

    呜啦啦,又是模拟题,这个题又被虐了好长时间,不过倒是挺好做的感觉

  • 相关阅读:
    Set,List,Map的区别
    阅读笔记15
    阅读笔记14
    阅读笔记13
    阅读笔记12
    阅读笔记11
    阅读笔记10
    架构漫谈读后感
    阅读笔记1
    暑期周记8
  • 原文地址:https://www.cnblogs.com/luyingfeng/p/3242689.html
Copyright © 2011-2022 走看看