zoukankan      html  css  js  c++  java
  • hdu1035 机器人走格子,格子指明方向,问几步走出格子或者是否有形成圈

    只要根据格子的方向选择下一步搜索的方向即可,退出条件是出界或者进入环中,进入环中的条件也很好确定,就是一个点走了两次,由于路径是固定的,这就会陷入无限循环。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #define maxn 1005
    using namespace std;
    int n,m,c;
    int k;
    int step[maxn][maxn];
    char map[maxn][maxn];
    void dfs(int x,int y)
    {
        if(x<0||x>=n||y<0||y>=m)
        {
            printf("%d step(s) to exit
    ",k);
            return;
        }
        if(step[x][y])
        {
            printf("%d step(s) before a loop of %d step(s)
    ",step[x][y]-1,k-step[x][y]+1);
            return;
        }
        if(map[x][y]=='N')
        {
            step[x][y]=++k;
            dfs(x-1,y);
        }
        if(map[x][y]=='S')
        {
            step[x][y]=++k;
            dfs(x+1,y);
        }
        if(map[x][y]=='E')
        {
            step[x][y]=++k;
            dfs(x,y+1);
        }
        if(map[x][y]=='W')
        {
            step[x][y]=++k;
            dfs(x,y-1);
        }
        return;
    }
    int main()
    {
        while(cin>>n>>m>>c&&(m+n))
        {
            for(int i=0;i<n;i++)scanf("%s",&map[i]);
            memset(step,0,sizeof(step));
            k=0;
            dfs(0,c-1);
        }
    }
  • 相关阅读:
    基于proteus的数字电路设计
    AXI4自定义FPGA外设理论基础
    FPGA 原语之一位全加器
    FPGA原语初步试验
    PS的流水灯设计分析
    vivado2019操作之约束文件
    http 笔记1
    编写有效用例-笔记
    接口测试学习积累1
    模拟器学习
  • 原文地址:https://www.cnblogs.com/randy-lo/p/12384652.html
Copyright © 2011-2022 走看看