搭积木问题

目录

题面描述

- mv a on b

- mv a ov b

- st a on b

- st a ov b

- xh a an b

- q

输入

输出

示例输入

示例输出

测试用例 

题解


 

题面描述

有编号为0-(N-1)的若干个积木块按编号从小到大的顺序排成一行,每个积木块所在的位置为其对应的编号。一个机器人可以操纵这些积木块,机器人可以执行如下指令:

- mv a on b

将a和b所在列a、b之上的所有积木块恢复到最初其所在的位置上,然后将积木块a搁置在积木块b之上。

- mv a ov b

将积木块a之上的所有积木块恢复到最初其所在的位置上,然后将积木块a放置在积木块b所在列的顶端。

- st a on b

将积木块b之上的所有积木块恢复到最初其所在的位置上,然后将积木块a及其上的所有积木放置在积木块b之上。

- st a ov b

将积木块a及其上的所有积木放置在积木块b所在列的顶端。

- xh a an b

交换a和b所在的列。

- q

退出

上述命令中,若存在a==b或a、b在同一列上,则为非法指令。机器人会忽略所有的非法指令,不会操作任何的积木块。

输入

输入的第一行为一个整数n(0 < n < 25 ),随后有若干行指令,保证所有的指令为上述形式。若指令为q,表示指令结束。

输出

请输出机器人执行所有的指令后的积木状态。记机器人操作之前每个积木所在的列为i (0 <= i < n),请按样例形式输出每列的所有积木。对任何一列,在一行中输出该列中所有的积木信息。输出格式为:先输出列号和`:`,若该列无积木,则直接换行,否则在单个空格后输出各个积木块的编号,编号之间以单个空格分隔。

示例输入

10

mv 9 on 1

mv 8 ov 1

mv 7 ov 1

mv 6 o

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值