数学建模社区-数学中国

标题: 2006年百度之星程序设计大赛复赛题目4:彩球游戏 [打印本页]

作者: 厚积薄发    时间: 2010-5-6 19:12
标题: 2006年百度之星程序设计大赛复赛题目4:彩球游戏

彩球游戏
0 i. s; ?( T0 z

) S; g; W; D) [* y7 N; _

X博士是一个研究儿童智力开发方法的科学家,他为幼儿教育领域做出了许多贡献。最近,X博士正在研究一种适合儿童的游戏,用以辅助发展儿童的观察力、注意力和思维能力。经过连日的构思,X博士终于设计出了一种游戏:彩球游戏。

彩球游戏是一种单人参与的游戏,游戏首先给出一串由许多不同颜色的小球组成的小球序列,以及一个整数参数MM2)。一段连续的具有相同颜色的小球序列称为连续同色序列。小孩,即游戏参与者,每次可以向任意一段连续同色序列插入一个同色小球,使该序列的长度加一。当一段连续同色序列在插入一个同色小球后其长度达到M时,该序列就会爆炸消失,然后原序列两边的其余小球会重新连成一串,如果两段相同颜色的连续同色序列在此时连接在一起,它们就会合并形成一段新的连续同色序列。如果新形成的连续同色序列长度达到M,这段序列也会爆炸消失,然后重复上述过程,直到没有新的长度达到M的连续同色序列出现为止。游戏的目标很简单,就是插入尽量少的小球,使得所有小球都爆炸消失掉。

通过长时间的游戏和不断提高游戏水平,这个游戏可以很好地开发儿童的观察力、注意力和思维能力。但是X博士仍然面临着一个困难的问题,他还需要设计出一个游戏演示AI程序,可以以最优的方式(即插入的小球数量最小)进行游戏,用于游戏教学,或者在游戏中对小孩给出提示。X博士并不擅长此类程序,因而他无法完成这个任务,你可以帮助他吗?

输入格式:

输入文件包含多组测试数据。每组测试数据第一行为整数M2≤M≤20),第二行为一条非空的字符串,由大写字母组成且长度不超过200,表示初始的一串小球,不同的字母表示不同的小球颜色。初始时可能会存在一些长度达到M的连续同色序列,但这些序列不会马上爆炸消失。

输出格式:

每组测试数据输出一行,表示至少需要插入多少次小球才能使所有小球爆炸消失掉。

输入样例:

3

AAABAAA

3

ABBABBA

输出样例:

2

2

说明:

共有5个测试数据集,每个测试数据集为一个输入文件,包含多组测试数据。每个测试数据集从易到难分别为510153040分,对每个测试数据集分别执行一次程序,每次必须在运行时限30秒内结束程序并输出正确的答案才能得分。

所有数据均从标准输入设备(stdin/cin)读入,并写出到标准输出设备 stdout/cout)中。

五个测试数据集中输入初始小球队列的长度分别不大于102050100200,各有不超过5000组测试数据。


3 a# m& W6 S; `9 u: S

- d; T" T4 ?% L9 y! q

1 s& e& h# i) p  x  s2 `5 O6 T6 X! I) B


作者: 亦萌    时间: 2011-8-7 14:38

作者: qo1211    时间: 2011-9-1 16:39
一共有几种颜色的小球呢?
作者: 覃伎岩    时间: 2011-12-8 04:31
讲得不错哦,顶楼主) G% K3 @* M( N$ r) v1 E4 J% y$ n

作者: pxwgih    时间: 2012-1-1 10:06
呵呵,不错
作者: 王凯明    时间: 2012-5-17 23:31
谢谢,题目好难
作者: wangchen881202    时间: 2012-6-1 00:21
就你这个样子,这个年龄,已经跌破发行价了。
* y9 ~3 k: V" ]9 H# s9 n  F
6 v, ]6 a  H6 {1 l8 _( a~~~~哼..哼..哼...
3 s! ~7 u* ]/ a
作者: treemantan    时间: 2012-6-8 22:00
我身边的朋友们啊,你们快点出名吧,这样我的回忆录就可以畅销了& o2 `# ^, G1 E4 }( C
/ \7 A3 n0 y7 E4 q) [: e% F  t
赫赫
& X' o: f! S. l- I& m7 V$ p: v7 Y
作者: liupeng723911    时间: 2012-6-27 19:33
谢谢哦,辛苦辛苦!
作者: sxjm567    时间: 2012-7-30 11:08
哈 谢谢啦 !谢谢分享
作者: hbdkfk2    时间: 2013-1-14 10:03
这个我喜欢!!
作者: quantumyang    时间: 2013-4-11 14:59
畢業了,想看些適合畢業生的東西




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5