/ Vijos / 题库 /

九数码

九数码

时间限制:1秒  内存限制:256M


【题目描述】

  这是一个很古老的游戏了:有 \(3×3\) 的活动棋盘(如下图),方格上写有 0..8 这九个数字。例如:
说明
  利用棋盘背后的旋转,游戏者每次可以进行以下两种操作之一:
  1、将拼盘外围的8个方格按顺时针挪一个位置。
  2、将中间一行向右移动一个位置,最右边的方格被移到最左边。
  例如:
说明
  给你一个拼盘的初始状态,你能用最少的操作次数把拼盘变成下图所示的目标状态吗?
说明

【输入格式】

  输入文件中包含三行三列九个数,同行的相邻两数用空格隔开,表示初始状态每个方格上的数字。初始状态不会是目标状态。

【输出格式】

  如果目标状态无法达到,则输出“UNSOLVABLE”(引号不输出)。否则,第一行是一个整数 \(S\),表示最少的操作次数。接下来\(4 × (S + 1)\)行,每四行表示一个状态:前三行每行三个整数,相邻两数用空格隔开,表示每个方格上的数字,第四行是一个空行,作为分隔。第一个状态必须是初始状态,最后一个状态必须是目标状态。

【输入输出样例】

 Input

2 3 0
1 8 7
5 4 6

 Output

4
2 3 0
1 8 7
5 4 6

1 2 3
5 8 0
4 6 7

1 2 3
0 5 8
4 6 7

0 1 2
4 5 3
6 7 8

0 1 2
3 4 5
6 7 8

【来源】

  Mr.he

信息

ID
2064
难度
(无)
分类
搜索 | 图结构 | 最短路 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
被复制
4
上传者