题目名称 1560. [UVa 101] 木块问题
输入输出 uvablock.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 2
题目来源 Gravatarsywgz 于2014-03-25加入
开放分组 全部用户
提交状态
分类标签
UVa
分享题解
通过:24, 提交:38, 通过率:63.16%
GravatarMarshmello 100 0.000 s 0.00 MiB C++
Gravatarslyrabbit 100 0.000 s 0.31 MiB C++
GravatarBravo ChaoS 100 0.000 s 0.31 MiB C++
GravatarLetter zZZz 100 0.000 s 0.31 MiB C++
Gravatarcoastline>> 100 0.000 s 0.31 MiB C++
Gravatarhorizon<< 100 0.000 s 0.31 MiB C++
GravatarSunshine ヾ 100 0.000 s 0.31 MiB C++
GravatarMoonlight ヾ 100 0.000 s 0.31 MiB C++
GravatarMoonlight ヾ 100 0.000 s 0.31 MiB C++
Gravatar这_不错 100 0.000 s 0.31 MiB C++
关于 木块问题 的近10条评论(全部评论)
Copyright© All rights reserved.
GravatarMarshmello
2017-06-29 10:39 5楼
奇葩年年有,今年特别多
Gravatar752199526
2014-05-17 22:26 4楼
终于过了,好感动
GravatarLetter zZZz
2014-05-17 21:53 3楼
Gravatarchs
2014-05-16 18:57 2楼
T_T,数据量大必挂,还好只有两组小数据。^_^
Gravatarwolf
2014-05-10 19:41 1楼

1560. [UVa 101] 木块问题

★   输入文件:uvablock.in   输出文件:uvablock.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

    在计算机科学的很多领域,人们都是用简单,抽象的“区域问题”来进行分析和实践研究。例如:初期的机器人人工智能的研究就从解决方块问题开始的。机器人使用手臂完成有关于方块的操作任务。

    在此问题中。你需要构造一个受特定条件限制的简单的方块模型。编写程序让机器人手臂完成一下任务:

    分析一下命令,让机器人手臂移动置于平摊桌子上的方块。桌子上有n个方块(记为0到n-1).其中方块b(i)和方块b(i+1)(0<=i<n-1)相邻。图表如下:


及其需要完成的有效命令:

●move a onto b:

a,b分别是方块编号,移动方块a,b上的任何方块,将a置于b上。

●move a over b:

a,b分别是方块编号,移动位于a上的任何方块,将a 置于b摞顶部。

●pile a onto b:

a,b分别是方块编号,移动a摞(包括a上的任何方块)置于b方块上。移动时保持a上的所有方块顺序不变,且先移动b方块上的所有方块。

●pile a over b:

a,b 分别是方块编号,将a 摞(包括a上的任何方块)置于b摞顶部。移动a时需保持a方块上的所有方块顺序不变。

●quit

(注:任何包含a=b或将a,b置于同一摞的命令属于错误命令。错误命令将视为无效命令。)



【输入格式】


输入信息中以整数n开始(n代表方块的数量),0<n<25

一系列命令应在方块的数量之后,每行一个命令。程序运行到退出终止。

所有命令必须遵循以上格式。任何语法错误将视为错误命令。


【输出格式】


输出信息应显示出方块的最后状态。

每一个表示方块位置的I(0<=I<n)后都必须使用一个分号。如果方块的数量多于1,分号后需使用一个空格。列举此方块摞中各个方块时,各方块之间需以空格隔开。每行信息中不允许出现多余的空格。

每个位置的方块用一行输出信息。(例如在输入信息中第一行输入n,则有n行输出信息)


【样例输入】

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

【样例输出】

0: 0 1: 1 9 2 4 2: 3: 3 4: 5: 5 8 7 6 6: 7: 8: 9:

【提示】

在此键入。

【来源】

uva101