Toggle navigation
点码成金编程
F.A.Qs
ProblemSet
Source/Category
Status
Ranklist
Contest
Login
Home
=>
ProblemSet
=> 八数码难题
Problem2222--八数码难题
2222: 八数码难题
Time Limit:
1
Sec
Memory Limit:
128 MB
Submit:
0
Solved:
14
[
Submit
] [
Status
] [ Creator:
][ 参考程序 ]
Description
在 3×3 的棋盘上,摆有八个棋子,每个棋子上标有 1 至 8 的某一数字。棋盘中留有一个空格,空格用 0 来表示。空格周围的棋子可以移到空格中。
要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为 123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的转变。
Input
输入初始状态,一行九个数字,空格用 0 表示。
Output
只有一行,该行只有一个数字,表示从初始状态到目标状态需要的最少移动次数。保证测试数据中无特殊无法到达目标状态数据。
Sample Input
Copy
283104765
Sample Output
Copy
4
HINT
图中标有 0 的是空格。绿色格子是空格所在位置,橙色格子是下一步可以移动到空格的位置。如图所示,用四步可以达到目标状态。
并且可以证明,不存在更优的策略。
Source/Category
BFS
DFS