Python搭积木

有编号为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

输出

请输出机器人执行所有的指令后的积木状态。记机器人操作之前每个积木所在的列为i(0≤i

你可能感兴趣的:(Pyhton程序设计,python,开发语言,算法,数据结构)