P2790 ccj与zrz之积木问题

    • 128通过
    • 292提交
  • 题目提供者 陈常杰
  • 评测方式 云端评测
  • 标签 模拟
  • 难度 普及-
  • 时空限制 1000ms / 128MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 体验新版界面

    最新讨论 显示

    推荐的相关题目 显示

    题目背景

    ccj和zrz无聊到了玩起了搭积木...(本题选自uva101,翻译来自《算法竞赛入门经典2》)

    题目描述

    从左到右有n个木块,编号从0到n-1,要求模拟以下4种操作(下面的a和B都是木块编号,归为表示比如1号木块归到1号位去)。

    move a onto b 把a和b上方的木块全部归位,然后把a摞在b上面。

    move a over b 把a上方的全部归位,然后把a放在b所在木块堆的顶部。

    pile a onto b 把b上方的木块全部归位,然后把a及上面的木块整体摞在b上面

    pile a over b 把a及上面的木块整体摞在b所在木块堆的顶部。

    遇到quit停止。a和b在同一堆的指令时非法指令,应当忽略。

    最后输出每个位置的木块列表,按照从底部到顶部的顺序排列。

    输入输出格式

    输入格式:

    第一行:n。

    接下来若干行:每行一个指令(语法不会错),遇到quit停止。

    输出格式:

    n行,第i行输出一个i和冒号,然后一个空格,输出,它位置上的所有积木。

    输入输出样例

    输入样例#1: 复制
    10
    move 9 onto 1
    move 8 over 1
    move 7 over 1
    move 6 over 1
    pile 8 over 6
    pile 8 over 5
    move 2 over 1
    move 4 over 9
    quit
    输出样例#1: 复制
    0: 0
    1: 1 9 2 4
    2:
    3: 3
    4:
    5: 5 8 7 6
    6:
    7:
    8:
    9:

    说明

    0 < n < 25。

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。