
bfs
bfs
_wow_
这个作者很懒,什么都没留下…
展开
-
推箱子noj
推箱子noj描述:绝大多数人都玩过推箱子的游戏,控制一个人将箱子推动到目标位置即获得胜利。现请你编写一个程序,判断将箱子推到目标位置至少需要多少步。输入:推箱子的平面区域为固定大小(10*10),使用10行10列输入推箱子的初始局面。其中,0代表空格,1代表墙,2代表箱子,3代表目标位置,4代表人。注:游戏中只有一个箱子,一个目标位置,一个人。输出:输出将箱子推到目标位置的最小步数;若箱子不可能被推到目标位置,输出-1。输入样例:0000000000000000030001000000原创 2021-10-26 20:14:36 · 222 阅读 · 0 评论 -
六数码noj
六数码noj现有一两行三列的表格如下:A B CD E F把1、2、3、4、5、6六个数字分别填入A、B、C、D、E、F格子中,每个格子一个数字且各不相同。每种不同的填法称为一种布局。如下:1 3 52 4 6布局12 5 64 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 · 141 阅读 · 0 评论 -
NOJ电子老鼠闯迷宫
NOJ电子老鼠闯迷宫描述:有一只电子老鼠被困在如下图所示的迷宫中。这是一个12*12单元的正方形迷宫,黑色部分表示建筑物,白色部分是路。电子老鼠可以在路上向上、下、左、右行走,每一步走一个格子。现给定一个起点S和一个终点T,求出电子老鼠最少要几步从起点走到终点。输入:本题包含一个测例。在测例的第一行有四个由空格分隔的整数,分别表示起点的坐标S(x.y)和终点的坐标T(x,y)。从第二行开始的12行中,每行有12个字符,描述迷宫的情况,其中’X’表示建筑物,’.'表示路.输出:输出一个整数,即电子原创 2021-10-17 16:54:31 · 276 阅读 · 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 · 500 阅读 · 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 · 68 阅读 · 0 评论