zoukankan      html  css  js  c++  java
  • OpenJudge 2727:仙岛求药

    代码稍微有点丑^_^

    懒得做注解^_^

    不过应该不难理解

    #include<bits/stdc++.h>
    using namespace std; 
    int dx[10]={0,1,-1,0,0};
    int dy[10]={0,0,0,1,-1};
    int m,n,i,j;
    int a[50][50],ans,xx[50][50],f[50][50];
    bool biao=false;
    void dfs(int x,int y,int sum)
    {
        if(sum>=f[x][y]) return;
        f[x][y]=sum;
        if(a[x][y]==0) return;
        if(ans!=0&&sum>=ans) return;
            
        
        if(a[x][y]==2) 
        {
            
            ans=sum;
            biao=false;
            return;
        }
        
        for(int i=1;i<=4;i++)
        {
            int nx=x+dx[i],ny=y+dy[i];
            if(xx[nx][ny]==0)
            {
                xx[nx][ny]=1;
                dfs(nx,ny,sum+1);
                xx[nx][ny]=0;
            }
            
        }
        
    }
    int main()
    {
        while(cin>>n>>m)
        {
    
            if(m==0&&n==0) break;
            char c;
            int st,ed;
            
            memset(a,0,sizeof(a));
            memset(xx,0,sizeof(xx));
            memset(f,0x7f,sizeof(f));
            biao=false;ans=0;
            
            for(i=1;i<=n;i++)
            for(j=1;j<=m;j++)
            {
                cin>>c;
                if(c=='@')
                {
                    a[i][j]=1;
                    st=i;
                    ed=j;
                } 
                if(c=='.') a[i][j]=1;
                if(c=='*') a[i][j]=2,biao=true;
            }
            if(biao==false) 
            {
                cout<<-1<<endl;
                break;
            }
            dfs(st,ed,1);
            if(biao)
            cout<<-1<<endl;
            else cout<<ans-1<<endl;
        }
        return 0;
    }
  • 相关阅读:
    LRU算法简介
    linux下安装nginx+php+mysql环境 详细教程
    CentOS 6.6编译安装Nginx1.6.2+MySQL5.6.21+PHP5.6.3
    unicode 格式 转汉字
    js 操作cookie
    哈希函数
    php商城秒杀活动
    php 栈、 出栈、入栈
    php单例模式
    封装PHP增删改查方法
  • 原文地址:https://www.cnblogs.com/zhouzhihao/p/10513026.html
Copyright © 2011-2022 走看看