d734. 另类Hanoi
標籤 :
通過比率 : 48人/61人 ( 79% ) [非即時]
評分方式:
Tolerant

最近更新 : 2011-10-21 21:30

內容

设有n个大小不同的中空圆盘,按从小到大的顺序从1到n编号。将这n个圆盘任意的迭套在三根立柱上,立柱的编号依次为 a、b、c ,这个状态称为初始状态。

现在要求找到一种步数最少的移动方案,使得从初始状态转变为目标状态。

移动时有如下要求:

* 一次只能移动一个盘。

* 不允许把大盘移到小盘上面。

輸入說明

第一行数字n(1<=n<=20),表示状态中圆盘总数。

第二行表示初始状态,有n个数字,第i个数字a[i]表示第i个圆盘放在第a[i]个立柱上。

第三行表示目标状态,有n个数字,第i个数字b[i]表示第i个圆盘放在第b[i]个立柱上。

不必EOF判断。

輸出說明
输出移动步骤时,需按照 ring x : y -> z 的格式,其中x为整数,y、z为a、b、c其中一个。
最后在输出最少步数。
範例輸入 #1
5
1 1 1 2 2
3 1 2 2 2
範例輸出 #1
ring 1 : a -> b
ring 2 : a -> c
ring 1 : b -> c
ring 3 : a -> b
ring 1 : c -> b
ring 2 : c -> a
ring 1 : b -> c
7
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (20%): 2.0s , <1K
公開 測資點#1 (20%): 2.0s , <1K
公開 測資點#2 (20%): 2.0s , <1K
公開 測資點#3 (20%): 2.0s , <1K
公開 測資點#4 (20%): 2.0s , <1K
提示 :

b190: 97七区资讯学科5(改编) 的加强版

a268: 河內塔問題 的弱弱版

標籤:
出處:
97 七区资讯学科能力竞赛 [管理者: liouzhou_101 (王启圣) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」