dfs搜索路径

1 规定一个搜索顺序(右下左上)
2 标记起点(book[1][1] = 1)
3 dfs:

void dfs(int x, int y, int step){//坐标及步数 
    int next[4][2] = {0 , 1}, {1 , 0}, {0 , -1}, {-1 , 0};//右下左上
    
    if(...){//是否到达
        
        if(step < min)
            min = step; 
        
        return ;
    } 
    
    for(int i = 0; i <= 3 ; i++){
        
        x += next[k][0];
        y += next[k][1];
        
        if(...) continue;//是否越界
        
        if(...){ //判断是否为障碍物或者已经在路径中 
            book[x][y] = 1;
            dfs(x , y , step+1);
            book[x][y] = 0;
        }
    }
    
    return ;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,187评论 19赞 139
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 13,078评论 0赞 33
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 5,156评论 0赞 0
  • 我坐在窗前 等你 夏天 你藏在哪里呢? 是树梢头? 是花丛间? 是飞翔的鸟儿? 是爬行的虫儿? 我努力想抓住它们 ...
    桂之华阅读 316评论 2赞 3
  • 北方少雨,上次看到下雨都记不清是什么时候了,一个月前甚至更长。前几天听说下雨了,醒来后看到地面都没有湿,心中还有一...
    行者rc阅读 246评论 0赞 0

友情链接更多精彩内容