zoukankan      html  css  js  c++  java
  • HDU 1035 Robot Motion

    http://acm.hdu.edu.cn/showproblem.php?pid=1035

    搜搜搜

    View Code
    #include <iostream>
    using namespace std ;
    char map[11][11] ;
    int dp[11][11] ;
    int n,m ;
    int ans,loop ;
    int flag ;
    void dfs(int x,int y,int cnt)
    {
        if(x<0 || x>=n || y<0 || y>=m)
        {
            flag=0 ;
            ans=cnt ;
            return ;
        }
        if(dp[x][y]!=-1)
        {
            flag=1 ;
            ans=dp[x][y] ;
            loop=cnt-dp[x][y] ;
            return ;
        }
        dp[x][y]=cnt ;
        switch (map[x][y])
        {
            case 'N': x-- ; break ;
            case 'S': x++ ; break ;
            case 'W': y-- ; break ;
            case 'E': y++ ; break ;
        }
        dfs(x,y,cnt+1) ;
    }
    int main()
    {
        while(scanf("%d%d",&n,&m),(n||m))
        {
            int s ;
            scanf("%d",&s) ;
            memset(dp,-1,sizeof(dp));
            for(int i=0;i<n;i++)
                scanf("%s",map[i]) ;
            dfs(0,s-1,0);
            if(flag)
                printf("%d step(s) before a loop of %d step(s)\n",ans,loop) ;
            else
                printf("%d step(s) to exit\n",ans);
        }
        return 0 ;
    }
  • 相关阅读:
    ccc pool
    ccc 模拟重力 正太分布
    ccc 正态分布
    ccc this 指针
    基本语法HelloWorld
    css选择器
    css基本语法
    表单
    表格
    超链接
  • 原文地址:https://www.cnblogs.com/xiaohongmao/p/2535420.html
Copyright © 2011-2022 走看看