测试模拟题
![测试模拟题](https://img.360docs.net/img07/1vtw3iyhh59vjk2usesw7ezs2mqte4h-71.webp)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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. 问题描述 编程求解八皇后问题,输出所有可能的解。