zoukankan      html  css  js  c++  java
  • poj1573

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

     1 #include<stdio.h>
     2 #include<string.h>
     3 char map[15][15];
     4 int main()
     5 {
     6     int n,m,k;
     7     int i,j;
     8     while(~scanf("%d %d %d",&n,&m,&k))
     9     {
    10         getchar();
    11         if(n==0&&m==0&&k==0)break;
    12         memset(map,'O',sizeof(map));
    13         for(i=1;i<=n;i++)
    14         {
    15             for(j=1;j<=m;j++)
    16                 scanf("%c",&map[i][j]);
    17             getchar();
    18         }
    19         int f[15][15]={0};
    20         int t,x=1,y=k;
    21         for(t=0;;t++)
    22         {
    23             f[x][y]++;
    24             if(map[x][y]=='N')
    25                 x--;
    26             else if(map[x][y]=='S')
    27                 x++;
    28             else if(map[x][y]=='W')
    29                 y--;
    30             else if(map[x][y]=='E')
    31                 y++;
    32             else if(map[x][y]=='O')
    33             {
    34                 printf("%d step(s) to exit
    ",t);
    35                 break;
    36             }
    37             if(f[x][y]==2)
    38             {
    39                 int row=x,col=y;
    40                 int flag=1;
    41                 for(x=1,y=k,t=0;;t++)
    42                 {
    43                     if(x==row&&y==col&&flag==1)
    44                     {
    45                         printf("%d step(s) before a loop of ",t);
    46                         t=0;flag++;
    47                     }
    48                     if(x==row&&y==col&&t!=0&&flag==2)
    49                     {
    50                         printf("%d step(s)
    ",t); break;
    51                     }
    52                     switch(map[x][y])
    53                     {
    54                         case 'N': x--;break;
    55                         case 'S': x++;break;
    56                         case 'W': y--;break;
    57                         case 'E': y++;break;
    58                     }
    59                 }
    60                 break;
    61             }
    62         }
    63     }
    64     return 0;
    65 }
    View Code
  • 相关阅读:
    Java多线程、并发
    Java I/O系统
    Java注解
    Arthas(Java诊断工具)
    Java泛型
    Java内部类
    libpcap使用
    python文件服务器
    设计模式
    protobuf
  • 原文地址:https://www.cnblogs.com/sdutmyj/p/3240704.html
Copyright © 2011-2022 走看看