![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
bfs
bfs
_wow_
这个作者很懒,什么都没留下…
展开
-
推箱子noj
推箱子noj 描述: 绝大多数人都玩过推箱子的游戏,控制一个人将箱子推动到目标位置即获得胜利。现请你编写一个程序,判断将箱子推到目标位置至少需要多少步。 输入: 推箱子的平面区域为固定大小(10*10),使用10行10列输入推箱子的初始局面。其中,0代表空格,1代表墙,2代表箱子,3代表目标位置,4代表人。 注:游戏中只有一个箱子,一个目标位置,一个人。 输出: 输出将箱子推到目标位置的最小步数;若箱子不可能被推到目标位置,输出-1。 输入样例: 0000000000 0000000300 01000000原创 2021-10-26 20:14:36 · 175 阅读 · 0 评论 -
六数码noj
六数码noj 现有一两行三列的表格如下: A B C D E F 把1、2、3、4、5、6六个数字分别填入A、B、C、D、E、F格子中,每个格子一个数字且各不相同。每种不同的填法称为一种布局。如下: 1 3 5 2 4 6 布局1 2 5 6 4 3 1 布局2 定义α变换如下:把A格中的数字放入B格,把B格中的数字放入E格,把E格中的数字放入D格,把D格中的数字放入A格。 定义β变换如下:把B格中的数字放入C格,把C格中的数字放入F格,把F格中的数字放入E格,把E格中的数字放入B格。 问:对于给定的布局,原创 2021-10-23 10:24:15 · 104 阅读 · 0 评论 -
NOJ电子老鼠闯迷宫
NOJ电子老鼠闯迷宫 描述: 有一只电子老鼠被困在如下图所示的迷宫中。这是一个12*12单元的正方形迷宫,黑色部分表示建筑物,白色部分是路。电子老鼠可以在路上向上、下、左、右行走,每一步走一个格子。现给定一个起点S和一个终点T,求出电子老鼠最少要几步从起点走到终点。 输入: 本题包含一个测例。在测例的第一行有四个由空格分隔的整数,分别表示起点的坐标S(x.y)和终点的坐标T(x,y)。从第二行开始的12行中,每行有12个字符,描述迷宫的情况,其中’X’表示建筑物,’.'表示路. 输出: 输出一个整数,即电子原创 2021-10-17 16:54:31 · 230 阅读 · 0 评论 -
Knight Moves(bfs)
Knight Moves(bfs) 向8个方向移动,起始位置到终点位置的最小步数 #include<iostream> #include<queue> #include<cstring> using namespace std; const int len=302; struct horse { int x; int y; int step; }; bool visit[len][len]; const int way[8][2]={{-2,-1原创 2021-03-18 10:12:46 · 469 阅读 · 0 评论 -
Catch That Cow(bfs)
Catch That Cow #include<iostream> #include<queue> #include<cstring> using namespace std; const int position=100001; int N,K; bool visit[position]; struct pos { int x;//坐标 int time;//时间,与步数意义同 }; void bfs() { queue<pos>Fa原创 2021-03-18 10:02:25 · 44 阅读 · 0 评论