当前位置:首页 >> IT/计算机 >> 第九题acm大赛原题 c、c++语言题目

第九题acm大赛原题 c、c++语言题目


魔板
30 年前流行的一种儿童完玩的魔版游戏由一个包括 24 各大小一样的小正方形板的 5x5 底板组成。在每一个小正方形板上印有一个不同的字母。由于地板内只有 24 个方板,底板 还包括了一个同小正方形般大小相同的的空位。如果一个方板紧挨着空位的右面、左面、上 面或下面, 则其可以移动至空位。 魔板游戏的目的是通过将方板移入空位之以使得底板上的 字母表顺序排列。 图(a)代表了一个魔板初始的局面,图(b)是顺序移动 6 步之后的局面。

6 步移动的顺序是: (1)空位上方的方板移动; (2)空位右方的方板移动; (3)空位右方的方板移动; (4)空位下方的方板移动; (5)空位下方的方板移动; (6)空位左方的方板移动; 写一个程序,在给出了初始局面和移动序列之后,显示最终的底板局面。

输入
你的程序的输入由若干个魔板组成, 每一个魔板均由初始局面和魔板移动序列来描述。 每个魔版描述的开始 5 行是初始局面,后继行给出了移动的序列。 底板显示的第一行对应魔板顶行的方板,其余行也依次对应。地板中的空位用一个空 格表示。每行恰包含 5 个字符,由最左面的方板上的字母(如果最左面恰好是空位,则用一 个空格)开始。底板显示将对应一个合法的魔板。 移动序列由表示移动至空位的方板 A、B、L、R 所组成的序列来表示。A 表示空位上

方的方板移动;B 表示空位下方的方板移动;L 表示空位左方的方板移动;R 表示空位右方 的方板移动。即使用 4 个移动字符之一来表示,移动仍可能会是非法的。如果发生了一次非 法移动,魔板被认为没有最终局面。这个移动序列可以延至若干行,但总是用数字 0 结束。 数据的结束用字符 Z 表示。

输出
每个魔板的输出有一个适当的标记的编号开始(Puzzel #1,Puzzel #2,等等) 。如果魔板没 有最终局面,接下来应该给出一个相应的信息。否则应该显示最终局面。 最终局面的每一行的格式应使得在相邻的两个字母之间由一个空格,把空格位也看作 是一个字母。例如,如果空格在底板里面,他将以 3 个空格的序列的形式出现——一个将其 同左边的方板隔开,一个是空位自身,还有一个将其同右边的方板隔开。 至少用一个空行隔开不同的魔板记录。

样例输入
TRGSJ XDOKI M VLN WPABE UQHCF ARRBBL0 ABCDE FGHIJ KLMNO PQRS TUVWX AAA LLLL0 ABCDE FGHIJ KLMNO PQRS TUVWX AAAAABBRRRLL0 Z

输出样例

Puzzle #1: TRGSJ X O KLT MDVRN WP AE UQHCF Puzzle #2: AB CD FGHIE KLMN J PQRSO TUVWX Puzzle #3: This puzzle has no final configuration.


赞助商链接
更多相关文档:

零基础开始ACM编程免费学习_C/C++_教学视频大全

本课程为原「零基础开始ACM编程」课程精心剪辑后的精华版,非常适合刚入门学习C/C++语言,并快速参与到ACM竞赛中。 本教程辅以《算法竞赛入门经典》。 学习指南:...

ACM第三次培训题目及答案

ACM第三次培训题目及答案_IT/计算机_专业资料。ACM...问题分析 Problem Analyse 本题是为 C 语言初学者...(x > 0) c++; else if (x < 0) a++; ...

ACM动态规划问题简易模板(C++可编译)

ACM动态规划问题简易模板(C++可编译)_计算机软件及应用_IT/计算机_专业资料。ACM竞赛是非常有趣的竞赛,动态规划是非常有意思的算法1...

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com