题目名称 1073. 轮回游戏
输入输出 rotationa.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2012-09-14加入
开放分组 全部用户
提交状态
分类标签
搜索法
分享题解
通过:9, 提交:17, 通过率:52.94%
GravatarMakazeu 100 0.700 s 0.29 MiB C++
Gravatar王者自由 100 0.713 s 0.30 MiB C++
Gravatar苏轼 100 0.715 s 0.31 MiB C++
GravatarAAAAAAAAAA 100 1.041 s 0.31 MiB C++
GravatarAAAAAAAAAA 100 1.044 s 0.31 MiB C++
Gravatar增强型图元文件 100 1.408 s 13.66 MiB C++
GravatarHellc 100 1.618 s 0.29 MiB C++
GravatarTruth.Cirno 100 2.017 s 1.94 MiB C++
Gravatar王者自由 100 2.314 s 1.94 MiB C++
GravatarTruth.Cirno 20 2.011 s 1.94 MiB C++
本题关联比赛
20120914
关于 轮回游戏 的近10条评论(全部评论)
=v=敲了100多行 然后queue爆了 然后 就没人然后了
GravatarCloud
2012-09-17 13:12 1楼

1073. 轮回游戏

★★★   输入文件:rotationa.in   输出文件:rotationa.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

有一个#形棋盘,上面有24个格子(如下图)。这些格子上面有1,2,3三种数字,且每种数字有8个。一开始这些格子上的数字是随机分布的。你的任务是移动这些格子使得中间8个格子的数字相同。有8种移动方式,分别标记为A至H,可以理解为拉动4条链,如图的变换为‘AC’。问至少需要多少次拉动,才能从初始状态到达目标状态?
若有多组解,则输出字典序最小的那个。保证数据有解。

【输入格式】

有多组数据。每组数据包含一行,24个数字。从上至下从左至右表示棋盘上的数字。以0结束数据。

【输出格式】

每组数据包含两行,第一行为最优移动的序列,如果不用移动,则输出‘No moves needed’。第二行为中间八格的数字。

【样例输入】

1 1 1 1 3 2 3 2 3 1 3 2 2 3 1 2 2 2 3 1 2 1 3 3
1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
0

【样例输出】

AC
2
DDHH
2