zoukankan      html  css  js  c++  java
  • dfs模版

    dfs

    #include <stdio.h>

    #include <string.h>

    char Map[16][16];

    int mv[16][16];

    //mv[i][j] == 0 没有被访问

    //mv[i][j] == 1 已经被访问

    struct N

    {

        int x,y;

    } ;

    int jx[] = { 0,-1, 0, 1};

    int jy[] = { 1, 0,-1, 0};

    int Min;

    void dfs(int x,int y,int n,int m,int ans)

    {

        if(ans >= Min)

        {

            return ;

        }

       if(Map[x][y] == 'Y')

        {       

           if(ans < Min)   

           {

                Min = ans;

            }

           return ;

        }

        N f;

        for(int i = 0; i < 4; ++i)

        {

            f.x = x + jx[i];

            f.y = y + jy[i];

            if(0 <= f.x && f.x < n && 0 <= f.y && f.y < m && mv[f.x][f.y] == 0 && Map[f.x][f.y] != '#')

            {

                mv[f.x][f.y] = 1;

                dfs(f.x,f.y,n,m,ans+1);

                mv[f.x][f.y] = 0;

            }

        }

    }

    int main()

    {

        int n,m,i,j;

        while(scanf("%d %d",&n,&m) != EOF)

        {

            memset(mv,0,sizeof(mv));

            for(i = 0; i < n; ++i)

            {

                scanf("%*c%s",Map[i]);

            }

            for(i = 0; i < n; ++i)

            {

                for(j = 0; j < m; ++j)

                {

                    if(Map[i][j] == 'X')

                        break;

                }

                if(j != m)

                    break;

            }

            Min = (1<<20);

            dfs(i,j,n,m,0);

            if(Min == (1<<20))

            {

                printf("-1 ");

            }

            else

            {

                printf("%d ",Min);

            }

        }

        return 0;

    }

  • 相关阅读:
    Ubuntu下SVN命令行递归加入文件夹文件(免去一个一个的加入 --force)
    oschina插件和扩展
    oschina iOS代码库
    oschina 开发工具
    oschina应用工具
    oschina程序开发
    网络爬虫 kamike.collect
    WebFetch 是无依赖极简网页爬取组件
    commoncrawl 源码库是用于 Hadoop 的自定义 InputFormat 配送实现
    JAVA平台上的网络爬虫脚本语言 CrawlScript
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/3784549.html
Copyright © 2011-2022 走看看