zoukankan      html  css  js  c++  java
  • POJ -1573 Robot Motion


    题目链接:POJ 1573 Robot Motion

    一个小模拟,非常easy,依照提示一步步走就是了

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <algorithm>
    #include <cstring>
    using namespace std;
    
    int n = 0,m = 0,st = 0;
    int map[10][20],dis[10][20];;
    bool vis[10][20];
    int mv[4][2] = {{0,-1},{-1,0},{1,0},{0,1}};
    void Xiao_MoNi(int w)
    {
        memset(vis,0,sizeof(vis));
        int x = 0,y = w, x0 , y0;
        int step = 0;
        while(x>=0 && x<n && y>=0 && y<m && !vis[x][y])
        {
            vis[x][y] = true;
            dis[x][y] = step;
            step++;
            x0 = x + mv[map[x][y]][0]; // 注意一下,x0 当时敲成了x,x变化了,彻底乱了
            y0 = y + mv[map[x][y]][1];  //手残
            x = x0;
            y = y0;
        }
        if(x>=0 && x<n && y>=0 && y<m)
            cout<<dis[x][y]<<" step(s) before a loop of "<<step - dis[x][y]<<" step(s)
    ";
        else
            cout<<step<<" step(s) to exit
    ";
    }
    
    int main()
    {
        char a[15];
        while(scanf("%d%d%d",&n,&m,&st),n,m,st)
        {
            memset(dis,0,sizeof(dis));
                for(int i = 0;i<n;i++)
                {
                    scanf("%*c%s",a);
                    for(int j = 0;j<m;j++)
                    {
                        if(a[j]=='E')
                            map[i][j] = 3;
                       else if(a[j]=='W')
                            map[i][j] = 0;
                       else if(a[j]=='N')
                            map[i][j] = 1;
                       else if(a[j]=='S')
                            map[i][j] = 2;
                    }
                }
            st--;;
            Xiao_MoNi(st);
        }
        return 0;
    }
    


  • 相关阅读:
    今天开始记录我所经历
    第一次作业
    OJ练习
    svn 有效代码统计
    关于TDD的思考
    BFS
    001 Phone Numbers
    使用statsvn统计svn中的代码量
    ContinueWhenAll 实现线程的多重依赖
    小组计划
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6762747.html
Copyright © 2011-2022 走看看