zoukankan      html  css  js  c++  java
  • zoj2110深搜

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <climits>
    #include <string>
    #include <iostream>
    #include <map>
    #include <cstdlib>
    #include <list>
    #include <set>
    #include <queue>
    #include <stack>
    
    using namespace std;
    int dx[4]={0,-1,0,1};
    int dy[4]={-1,0,1,0};
    int Map[10][10];
    int vis[10][10];
    int n,m,k;
    int flag=0;
    int bs,be,es,ee;
    int Abs(int a)
    {
        return a>0?a:-a;
    }
    void dfs(int x,int y,int t)
    {
        cout<<x<<" "<<y<<endl;system("pause");
        int cc=Abs(x-es)+Abs(y-ee);
        int kk=k-t-cc;
        if(kk<0||kk%2) return ;
        if(flag) return ;
        if(x==es&&y==ee){
            if(t==k){
                flag=1;return ;
            }
        }
        for(int i=0;i<4;i++){
            int xx=dx[i]+x;int yy=dy[i]+y;
            if(xx>=0&&xx<n&&yy>=0&&yy<m&&!vis[xx][yy]&&Map[xx][yy]){
                vis[xx][yy]=1; t++;
                dfs(xx,yy,t);
                vis[xx][yy]=0;t--;
            }
        }
    }
    int main()
    {
        while(cin>>n>>m>>k,n||m||k){
            flag=0;
            getchar();
            memset(vis,0,sizeof(vis));
            memset(Map,0,sizeof(Map));
            for(int i=0;i<n;i++){
                for(int j=0;j<m;j++){
                    char c;cin>>c;
                    if(c=='S'){
                        bs=i;be=j;Map[i][j]=0;
                    }
                    if(c=='D'){
                        es=i;ee=j;Map[i][j]=1;
                    }
                    if(c=='.'){
                        Map[i][j]=1;
                    }
                    if(c=='X'){
                        Map[i][j]=0;
                    }
                }
                getchar();
            }
            dfs(bs,be,0);
            if(flag) cout<<"YES"<<endl;
            else cout<<"NO"<<endl;
        }
        return 0;
    }
    

      

  • 相关阅读:
    linux运维学习
    2017年阿里巴巴三面经验
    Spring Boot:在Spring Boot中使用Mysql和JPA
    meshroom和alicevision在Ubuntu16上的安装过程
    ubuntu rm -rf ntfs 硬盘恢复
    python 脚本内部修改 LD_LIBRARY_PATH
    python uml 图
    tlmgr 相关
    ubuntu 安装 clangd 10.0.0
    zsh 快捷键
  • 原文地址:https://www.cnblogs.com/yigexigua/p/3845114.html
Copyright © 2011-2022 走看看