深度优先搜索
文章平均质量分 62
StudyingPanda
一名在读cs大学僧,感谢关注!
展开
-
[深度优先搜索] 宝藏收集
接着,我们在dfs中,首先给函数传入一个开始深度优先搜索的起点位置,然后我们设置一个flag作为标记,看看我们当前位置是否还能往下走,如果可以就把flag设置为1,如果不行的话就说明如果我们选择了这条路,那么当前的一个宝藏数量已经达到了最大了(注意在dfs的过程中我们同时也进行了回溯的操作)。0,则表示第 1 个藏宝点至第 2 个藏宝点有路径,至第 3 个藏宝点有路径,至第 4 个、第 5 个 …(4) 以此类推,第 N+1 行有 1 个数,表示第 n-1 个藏宝点至第 n 个藏宝点有无路径连接。原创 2024-08-15 21:31:33 · 460 阅读 · 0 评论 -
[状态压缩 & 回溯搜索] 海贼王之伟大航路
描述“我是要成为海贼王的男人!”,路飞一边喊着这样的口号,一边和他的伙伴们一起踏上了伟大航路的艰险历程。路飞他们伟大航路行程的起点是罗格镇,终点是拉夫德鲁(那里藏匿着“唯一的大秘宝”——ONE PIECE)。而航程中间,则是各式各样的岛屿。因为伟大航路上的气候十分异常,所以来往任意两个岛屿之间的时间差别很大,从A岛到B岛可能需要1天,而从B岛到A岛则可能需要1年。当然,任意两个岛之间的航行时间虽然差别很大,但都是已知的。原创 2024-06-20 22:41:06 · 1152 阅读 · 0 评论 -
[递归回溯DFS]棋盘问题
描述在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。输入输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。当为-1 -1时表示输入结束。原创 2024-06-20 20:07:31 · 271 阅读 · 0 评论 -
[深度优先搜索DFS]迷宫问题
描述定义一个二维数组:它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。输入一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。输出左上角到右下角的最短路径,格式如样例所示。样例输入0 1 0 0 00 1 0 1 00 0 0 0 00 1 1 1 00 0 0 1 0样例输出(0, 0)(1, 0)(2, 0)(2, 1)(2, 2)(2, 3)(2, 4)原创 2024-06-20 18:18:29 · 415 阅读 · 0 评论