2016_双色Hanoi塔问题

2022-5-16 18:18| 发布者: Hocassian| 查看: 54| 评论: 0|原作者: 肇庆学院ACM合集

摘要:
C:\Users\Administrator\Downloads\2019-10-12-10-14-3-89504243894699-Problem List-采集的数据-后羿采集器.html

Pro.ID

2016

Title

双色Hanoi塔问题

Title链接

http://10.20.2.8/oj/exercise/problem?problem_id=2016

AC

85

Submit

123

Ratio

69.11%

时间&空间限制

  • Time Limit: 1000/500 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others)
  • 描述

    设A、B、C是3个塔座。开始时,在塔座A上有一叠共n个圆盘,这些圆盘自下而上,由大到小地叠在一起。各圆盘从小到大编号为1,2,...,n,奇数号圆盘着红色,偶数号圆盘着蓝色,如图所示。现要求将塔座A上的这一叠圆盘移到塔座B上,并仍按同样顺序叠置。在移动圆盘时应遵守以下移动规则:

    规则1:每次只能移动1个圆盘;

    规则2:任何时刻都不允许将较大的圆盘压在较小的圆盘之上;

    规则3:任何时刻都不允许将同色圆盘叠在一起;

    规则4:在满足移动规则1~3的前提下,可将圆盘移至A,B,C中任一塔座上。


    图1  双色Hanoi塔

    试设计一个算法,用最少的移动次数将塔座A上的n个圆盘移到塔座B上,并仍按同样顺序叠置。

    对于给定的正整数n,计算最优移动方案。

    输入

    输入只有一行,一个正整数n。  1 < n ≤ 9

    输出

    Description

    设A、B、C是3个塔座。开始时,在塔座A上有一叠共n个圆盘,这些圆盘自下而上,由大到小地叠在一起。各圆盘从小到大编号为1,2,...,n,奇数号圆盘着红色,偶数号圆盘着蓝色,如图所示。现要求将塔座A上的这一叠圆盘移到塔座B上,并仍按同样顺序叠置。在移动圆盘时应遵守以下移动规则:

    规则1:每次只能移动1个圆盘;

    规则2:任何时刻都不允许将较大的圆盘压在较小的圆盘之上;

    规则3:任何时刻都不允许将同色圆盘叠在一起;

    规则4:在满足移动规则1~3的前提下,可将圆盘移至A,B,C中任一塔座上。


    图1  双色Hanoi塔

    试设计一个算法,用最少的移动次数将塔座A上的n个圆盘移到塔座B上,并仍按同样顺序叠置。

    对于给定的正整数n,计算最优移动方案。

    Input

    输入只有一行,一个正整数n。  1 < n ≤ 9

    Output

    输出最优移动方案,每行由一个正整数k和两个字符c1和c2组成,表示将第k个圆盘从塔座c1移到塔c2上。

    Sample Input

    3

    Sample Output

    1 A B
    2 A C
    1 B C
    3 A B
    1 C A
    2 C B
    1 A B

    Author

    样例输入

    3

    样例输出

    1 A B
    2 A C
    1 B C
    3 A B
    1 C A
    2 C B
    1 A B

    提示

    作者


    路过

    雷人

    握手

    鲜花

    鸡蛋

    最新评论

    返回顶部