测试模拟题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

蓝桥杯程序设计大赛模拟题

1. 问题描述

小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用*表示正面,用o表示反面(是小写字母,不是零)。

比如,可能情形是:**oo***oooo

如果同时翻转左边的两个硬币,则变为:oooo***oooo

现在的问题是:如果已知初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对于特定的局面,最少要翻动多少次呢?

这里约定:将翻动相邻的两个硬币叫做一步操作,要求:输入两行等长的字符串,分别表示初始状态和要达到的目标状态,每行的长度<1000。输出为一个整数,表示最小操作步数。

样例输入1

**********

o****o****

样例输出1

5

样例输入2

*o**o***o***

*o***o**o***

样例输出2

1

2.问题描述

某工业监控设备不断发回采样数据。每个数据是一个整数(0到1000之间)。各个数据间用空白字符(空格,TAB或回车换行)分隔。这些数据以文本形式被存储在文件中。

因为大多数时候,相邻的采样间隔数据是相同的,可以利用这个特征做数据的压缩存储。其方法是:对n(n>1)个连续相同的数字只记录n和该数字本身;

对m(m>0)个连续不重复的数字,则记录m*-1 和这些数字本身(之所以用负数,是为了与第一种情况区分,便于解压缩)。

例如,采样数字:

12 34 34 25 25 25 25 11 15 17 28 14 22 22 22 13

则根据上述规则变化后:

-1 12 2 34 4 25 -5 11 15 17 28 14 3 22 -1 13

3.问题描述

X国的一段古城墙的顶端可以看成2*N个格子组成的矩形(如下图所示),现需要将这些格子刷上保护漆。你可以从任意一个格子刷起,刷完一格,可以移动到和它相邻的格子(对角相邻也算数),但不能移动到较远的格子(因为油漆未干不能踩!)

比如:a d b c e f 就是合格的刷漆顺序;c e f d a b 是另一种合适的方案。

当已知N 时,求总的方案数。当N较大时,结果会迅速增大,请把结果对1000000007 (十亿零七) 取模。

输入格式

输入数据为一个正整数(不大于1000)

输出格式

输出数据为一个正整数。

样例输入

2

样例输出

24

样例输入

3

样例输出

96

样例输入

22

样例输出

359635897

4.问题描述

编程求3个字符串的最长公共子串。如:asdcfvgbefdsf、t0psdcfvgabc、yhosdcfvgk的最长公共子串为sdcfvg。

5.问题描述

资源分配问题。设有资源a,分配给n个项目,gi(x)为第i个项目分得资源x所得到的利润。求总利润最大的资源分配方案,也就是解下列问题:

max z=g1(x1)+ g2(x2)+……gn(xn)

x1+xx2+x3+……xn=a, xi≥0,i=1,2,3,……,n

函数gi(x)以数据表的形式给出。例如:现有7万元投资到A,B,C 三个项目,利润见表,求问题总利润最大的资源分配方案。

6. 问题描述

数塔问题。有如图所示的一个数塔,从顶部出发,在每一结点可以选择向左走或是向右走,一直走到底层,要求找出一条路径,使路径上的数值和最大。

7. 问题描述

设计一个算法,将一个真分数表示成为埃及分数的形式。所谓埃及分数是指分子为1的分数。如:7/8=1/2+1/3+1/24。注意:一个分数的表示方式不唯一,请使用最简单的表示方法。

8.问题描述

设有由n个不相同的整数组成的数列,记为:

a(1)、a(2)、……、a(n)且a(i)<>a(j) (i<>j)

若存在i1

9. 问题描述

用递归算法求解汉诺塔问题。输入盘子个数,输出移动的次数。

10. 问题描述

编程求解八皇后问题,输出所有可能的解。

相关文档
最新文档