python
kikieve
这个作者很懒,什么都没留下…
展开
-
【python】烂橘子问题-BFS
'''题目:在给定的网格中,每个单元格可以有以下三个值之一:值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。思路:说白了还是从第一个腐烂橘子开始,上下左右走,走到边缘,然后结束,看有没有好橘子'''from collections import dequedef bfs4(): dx=[1,0,-1,0]原创 2020-10-25 16:49:56 · 426 阅读 · 1 评论 -
障碍物迷宫-固定
障碍物迷宫-固定‘’‘迷宫是固定的,走出来,同样上下左右,0没有障碍物,1 有障碍物’’’from collections import dequedef migong(): dx=[1,0,-1,0] dy=[0,1,0,-1] maze1 = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] maze = [[0原创 2020-10-22 16:22:47 · 508 阅读 · 0 评论 -
障碍物迷宫
障碍物迷宫‘’‘还是迷宫,从左上到右下,不能斜着走,用@表示没有走过,用*表示障碍,用a表示走过,一次一格,然后存在随机障碍物’’’import randomfrom collections import dequedef migong(m,n): dx=[1,0,-1,0] dy=[0,1,0,-1] v={(x,y): random.choice('@*') for x in range(0,m) for y in range(0,n)} v[(0,0)]="a"原创 2020-10-22 15:20:57 · 557 阅读 · 0 评论 -
【python】BFS
【python】BFS。BFS,找到一个节点,不是目标就顺便把他的子节点加入到队列中,这个是一层一层的关系。永远是先找完第一层,再找第二层,所以可以实现最短路径,树会比较容易理解。但是注意,该记录不讨论权重。在这个里面涉及几个结构,队列和字典,列表模板初始化队列Q;清除visited数组;Q =起点S;while(Q非空){取队首元素U;出队;if(U == 目标状态 && U在矩阵内) {…}所有与U相邻且未被访问的状态入队;标记U为已访问;}’’’例题1,原创 2020-10-22 13:39:24 · 207 阅读 · 0 评论