文档库 最新最全的文档下载
当前位置:文档库 › 信息学奥赛试题精选33题(附带题解)

信息学奥赛试题精选33题(附带题解)

信息学奥赛试题精选33题(附带题解)
信息学奥赛试题精选33题(附带题解)

第1~10题为基础题,第11~20题为提高题,第21~33为综合题

注:因为在本文档中需要用到一些特殊的数学符号(如:求和号、分数等),所以当您在百度文库中浏览时,一些数学符号可能会显示不出来,不过当您把本文档下载下来在本地浏览时,所有的符号即可全部都显示出来。^_^

基础题:

【1 Prime Frequency】

【问题描述】

给出一个仅包含字母和数字(0-9, A-Z 以及a-z)的字符串,请您计算频率(字符出现的次数),并仅报告哪些字符的频率是素数。

输入:

输入的第一行给出一个整数T( 0

输出:

对输入的每个测试用例输出一行,给出一个输出序列号,然后给出在输入的字符串中频率是素数的字符。这些字符按字母升序排列。所谓“字母升序”意谓按ASCII 值升序排列。如果没有字符的频率是素数,输出“empty”(没有引号)。

样例输入样例输出

3

ABCC AABBBBDDDDD ABCDFFFF Case 1: C Case 2: AD Case 3: empty

注:

试题来源:Bangladesh National Computer Programming Contest

在线测试:UV A 10789

提示

先离线计算出[2‥2200]的素数筛u[]。然后每输入一个测试串,以ASCLL码为下标统计各字符的频率p[],并按照ASCLL码递增的顺序(0≤i≤299)输出频率为素数的字符(即u [p[i]]=1且ASCLL码值为i的字符)。若没有频率为素数的字符,则输出失败信息。

【2 Twin Primes】

【问题描述】

双素数(Twin Primes)是形式为(p, p+2),术语“双素数”由Paul St?ckel (1892-1919)给出,前几个双素数是(3, 5), (5, 7), (11, 13), (17, 19), (29, 31), (41, 43)。在本题中请你给出第S对双素数,其中S是输入中给出的整数。

输入:

输入小于10001行,每行给出一个整数S (1≤ S≤ 100000),表示双素数对的序列编号。输入以EOF结束。

输出:

对于输入的每一行,输出一行,给出第S对双素数。输出对的形式为(p1,空格p2),其中“空格”是空格字符(ASCII 32)。本题设定第100000对的素数小于20000000。

样例输入样例输出

1 2 3 4 (3, 5) (5, 7) (11, 13) (17, 19)

注:

试题来源:Regionals Warmup Contest 2002, Venue: Southeast University, Dhaka, Ba ngladesh

在线测试:UV A 10394

提示

设双素数对序列为ans[]。其中ans[i]存储第i对双素数的较小素数(1≤i≤num)。ans[]的计算方法如下:

使用筛选法计算出[2,20000000]的素数筛u[];

按递增顺序枚举该区间的每个整数i:若i和i+2为双素数对(u[i]&&u[i+2]),则双素数对序列增加一个元素(ans[++num]=i)。

在离线计算出ans[]的基础上,每输入一个编号s,则代表的双素数对为(ans[s],ans[s]+ 2)。

【3 Less Prime】

【问题描述】

设n为一个整数,100≤n≤10000,请找到素数x,x≤ n,使得n-p*x最大,其中p是整数,使得p*x≤n<(p+1)*x。

输入:

输入的第一行给出一个整数M,表示测试用例的个数。每个测试用例一行,给出一个整数N,100≤N≤10000。

输出:

对每个测试用例,输出一行,给出满足上述条件的素数。 样例输入 样例输出 5 4399 614 8201 101 7048 2203 311 4111 53 3527

注:

试题来源:III Local Contest in Murcia 2005 在线测试:UV A 10852

提示

要使得n-p*x 最大(x 为素数,p 为整数,p*x ≤ n<(p+1)*x ),则x 为所有小于n 的素数中,被n 除后余数最大的一个素数。由此得出算法:

先离线计算出[2‥11111]的素数表su[],表长为num 。然后每输入一个整数n ,则枚举小于n 的所有素数,计算tmp=}][][%{max 1n i su i su n n u m

i <≤≤,满足条件的素数即为对应tmp=n%

su[k]的素数su[k]。

【4 Prime Words 】 【问题描述】

一个素数是仅有两个约数的数:其本身和数字1。例如,1, 2, 3, 5, 17, 101和10007是素数。

本题输入一个单词集合,每个单词由a-z 以及A-Z 的字母组成。每个字母对应一个特定的值,字母a 对应1,字母b 对应2,以此类推,字母z 对应26;同样,字母A 对应27,字母B 对应28,字母Z 对应52。

一个单词的字母的总和是素数,则这个单词是素单词(prime word )。请编写程序,判定一个单词是否为素单词。 输入:

输入给出一个单词集合,每个单词一行,有L 个字母,1≤L ≤20。输入以EOF 结束。 输出:

如果一个单词字母的和为素数,则输出“It is a prime word.”;否则输出“It is not a prime word.”。 样例输入 样例输出

UFRN

It is a prime word.

contest AcM It is not a prime word. It is not a prime word.

注:

试题来源:UFRN-2005 Contest 1 在线测试:UV A 10924

提示

由于字母对应数字的上限为52,而单词的长度上限为20,因此我们首先使用筛选法,离线计算出[2‥1010]的素数素数筛u[]。

然后每输入一个长度为n 的单词,计算单词字母对应的数字和

X=

}''..'{'][27''][,}''..'{'][1''][1

Z A i s A i s z a i s a i s n

i ∈+-∈+-∑=

若x 为[2‥1010]中的一个素数(u[x]=1),则表明该单词为素单词;否则该单词非素单词。

【5 Sum of Different Primes 】 【问题描述】

一个正整数可以以一种或多种方式表示为不同素数的总和。给出两个正整数n 和k ,请您计算将n 表示为k 个不同的素数的和会有几种形式。如果是相同的素数集,则被认为是相同的。例如8可以被表示为3 + 5和5 + 3,但不区分。

如果n 和k 分别为24和3,答案为2,因为有两个总和为24的集合 {2, 3, 19}和{2, 5, 17} ,但不存在其他的总和为24的3个素数的集合。如果n = 24,k = 2,答案是3,因为存在3个集合{5, 19}, {7, 17}以及{11, 13}。如果n = 2,k = 1,答案是1,因为只有一个集合{2} ,其总和为2。如果n = 1,k = 1,答案是0,因为1不是素数,不能将{1}计入。如果n = 4,k = 2,答案是0,因为不存在两个不同素数的集合,总和为4。

请您编写一个程序,对给出的n 和k ,输出答案。 输入:

输入由一系列的测试用例组成,最后以一个空格分开的两个0结束。每个测试用例一行,给出以一个空格分开的两个正整数n 和k 。本题设定n ≤ 1120,k ≤ 14。 输出:

输出由若干行组成,每行对应一个测试用例,一个输出行给出一个非负整数,表示对相应输入中给出的n 和k 有多少答案。本题设定答案小于231。 样例输入 样例输出 24 3 24 2 2 1

2 3 1

1 1

4 2

18 3

17 1

17 3

17 4 100 5 1000 10 1120 14 0 0 0

2

1

1

55 200102899 2079324314

注:

试题来源:ACM Japan 2006

在线测试:POJ 3132,ZOJ 2822,UV A 3619

提示

su[]为[2..1200]的素数表;f[i][j]为j拆分成i个素数和的方案数(1≤i≤14, su[i]≤j≤1199)。显然,边界值f[0][0]=1。

首先,采用筛选法计算素数表su[],表长为num。然后每输入一对n和k,使用动态规划方法计算k个不同素数的和为n的方案总数:

枚举su[]表中的每个素数su[i](1≤i≤num)

按递减顺序枚举素数个数j(j=14‥1):

按递减顺序枚举前j个素数的和p(p=1199‥su[i]):

累计su[i]作为第j个素数的方案总数f[j][p]+=f[j-1][p-su[i]];

最后得出的f[k][n]即为问题解。

【6 Common Permutation】

【问题描述】

给出两个小写字母的字符串,a和b,输出最长的小写字母字符串x使得存在x的一个排列,是a的子序列,同时也存在x的一个排列是b的子序列。

输入:

输入有若干行。连续的两行组成一个测试用例,也就是说,第1和第2行构成一个测试用例,第3和第4行构成一个测试用例,等等。每个测试用例的第一行是字符串a,第二行是字符串b。每个字符串一行,至多由1000个小写字母组成。

输出:

对每个测试用例,输出一行,给出x。如果有若干个x满足上述要求,选择按字母序列第一个。

样例输入 样例输出 pretty women walking down the street

e nw et

注:

试题来源:World Finals Warm-up Contest, University of Alberta Local Contest 在线测试:UV A 10252

提示

试题要求按递增顺序输出两串公共字符的排列。计算方法如下: 设S 1=a 1a 2…a l a ,S 2= b 1b 2…b l b 。

先分别统计S 1中各字母的频率c 1[i]和S 2中各字母的频率c 2[i](1≤i ≤26,其中字母‘a ’对应数字1, 字母‘b ’对应数字2,…,字母‘z ’对应数字26)。

然后计算S 1和S 2的公共字符的排列:递增枚举i(1≤i ≤26),若i 对应的字母在S 1和S 2中同时存在((c1[i]≠0)&&(c2[i]≠0)),则字母'a'+i 在排列中出现k=min{c1[i],c2[i]}次。

【7 Anagram 】

【问题描述】

给出一个字母的集合,请您编写一个程序,产生从这个集合能构成的所有可能的单词。 例如:给出单词"abc",您的程序产生这三个字母的所有不同的组合——输出单词"abc", "acb",

"bac", "bca", "cab" 和"cba"。

程序从输入中获取一个单词,其中的一些字母会出现一次以上。对一个给出的单词,程序产生相同的单词只能一次,而且这些单词按字母升序排列。 输入:

输入给出若干单词。第一行给出单词数,然后每行给出一个单词。一个单词是由A 到Z 的大写或小写字母组成。大写字母和小写字母被认为是不同的,每个单词的长度小于13。 输出:

对输入中的每个单词,输出这个单词的字母产生的所有不同的单词。输出的单词按字母升序排列。大写字母排在相应的小写字母前,即'A'<'a'<'B'<'b'<...<'Z'<'z'。 样例输入 样例输出 3 aAb abc acba

Aab Aba aAb abA bAa

baA

abc

acb

bac

bca

cab

cba

aabc

aacb

abac

abca

acab

acba

baac

baca

bcaa

caab

caba

cbaa

注:

试题来源:ACM Southwestern European Regional Contest 1995

在线测试:POJ 1256,UV A 195

提示

建立字母与整数间的对应关系:

字母‘a’对应0,字母‘A’对应1;…;字母‘z’对应50,字母‘Z’对应51。

为了按照字母升序的要求生成单词的所有排列,首先将单词的所有字母转化为数字,然后递增排序数串,排列中每个位置的数字按由左而右顺序从数串中选择。

设单词长度为l,数串的第i个位置已访问标志为v1[i],初始时v1[]清零;数字k对应的字母已使用标志为v2[k],v2[]为递归程序内的局部变量(0≤i≤l-1,0≤k≤51)。

生成所有排列的计算过程为一个递归子程序:

void dfs(int d){ //从当前位置d出发,递归计算单词的所有排列if (d==l) 输出当前数字排列对应的单词;//生成单词的一个排列

}else{

v2[]清零; //所有字母未确定

for(int i=0;i

if(!v1[i]&&!v2[i位置字母对应的数字]){

v1[i]=1;v2[i位置字母对应的数字]=1;

i位置字母对应的数字放入当前排列的d位置;

dfs(d+1); //递归排列的第d+1个位置

v1[i]=0; //恢复数串的第i个位置未访问标志

} } } }

显然,主程序设数串的所有位置未访问(v1[]清零),递归调用dfs(0),便可按字母升序要求输出单词的所有排列。

【8 How Many Points of Intersection?】

【问题描述】

给出两行,在第一行有a 个点,在第二行有b 个点。我们用直线将第一行的每个点与第二行的每个点相连接。这些点以这样的方式排列,使得这些线段之间相交的数量最大。为此,不允许两条以上的线段在一个点上相交。在第一行和第二行中的相交点不被计入,在两行之间允许两条以上的线段相交。给出a 和b 的值,请计算P (a , b ),在两行之间相交的数量。例如,在下图中a = 2,b = 3,该图表示P (2, 3) = 3

输入:

输入的每行给出两个整数a ( 0

对输入的每一行,输出一行,给出序列编号,然后给出P (a , b )的值。本题设定输出值在64位有符号整数范围内。 样例输入 样例输出 2 2 2 3 3 3 0 0

Case 1: 1 Case 2: 3 Case 3: 9

注:

试题来源:Bangladesh National Computer Programming Contest, 2004 在线测试:UV A 10790

提示

如3线交于一点,则一定可以通过左右移动一个点使其交点分开,上面线段上的两点与

下面线段上的两点可以产生一个交点。按照乘法原理,p(a ,b)=错误!未找到引用源。。 【9 Stripies 】

【问题描述】

生化学家发明了一种很有用途的生物体,叫 stripies ,(实际上,最早的俄罗斯名叫 polosatiki ,不过科学家为了申请国际专利时方便不得不起了另一个英文名)。stripies 是透明,无定型的,群居在一些象果子冻那样的有营养的环境里。在大部分时间stripies 是在移动中,当两条stripies 碰撞时,这两条stripies 就融合产生一条新的stripies 。经过长时间的观察,科学家们发现当两条stripies 碰撞融合在一起时,新的stripies 的重量并不等于碰撞前两条stripies 的重量。不久又发现两条重量为m 1和m 2的stripies 碰撞融合在一起,其重量变为2*sqrt(m 1*m 2)。科学家很希望知道有什么办法可以限制一群stripies 的总重量的减少。 请您编写程序来解决这个问题。本题设定3条或更多的stripies 从来不会碰撞在一起。 输入:

第一行给出N (1 ≤ N ≤ 100),表示群落中stripies 的数量。后面的N 行每行为一条stripie 的重量,范围为1-1000。 输出:

输出stripies 群落可能的最小总重量。 精确到小数点后3位。 样例输入 样例输出 3 72 30 50 120.00

注:

试题来源:ACM Northeastern Europe 2001, Northern Subregion 在线测试:POJ 1862,ZOJ 1543,Ural 1161

提示

设群落中n 条stripies 的重量为m 1m 2‥m n 。经过n-1次碰撞后的总重量为

W=))

((2212

21

3

1

21

211

n

n n n m m m m ---

显然,m 1m 2‥m n 按照重量递减的顺序排列,得出的总重量w 是最小的。

【10 The Product of Digits 】

【问题描述】

请您寻找一个最小的正整数Q,Q的各个位置上的数字乘积等于N。

输入:

输入给出一个整数N(0 ≤ N≤ 109)。

输出:

输出一个整数Q,如果这个数不存在,则输出?1。

样例输入样例输出

10 25

注:

试题来源:USU Local Contest 1999

在线测试:Ural 1014

提示

分解N的因子的度量标准:尽量分解出大因子。

注意,有两个特例:

N=0时,Q=0;

N=1时,Q=1;

否则采取贪心策略,按从9到2的顺序分解n的因子:先试将n分解出尽量多的因子9,再试分解出尽量多的因子8…。若最终分解后的结果不为1,则无解;否则因子由小到大组成最小的正整数Q。

提高题:

【11 Democracy in Danger】

【问题描述】

在Caribbean 盆地中的一个国家,所有的决策是由在公民大会上简单的多数投票被通过的。当地的一个政党,希望权力尽可能地合法,要求改革选举制度。他们主要论点是,岛上的居民最近增加了,它不再轻易举行公民大会。

改革的方式如下:投票者被分成K个组(不一定相等),在每个组中对每个问题进行投票,而且,如果一个组半数以上的成员投“赞成”票,那么这个组就被认为投“赞成”票,否则这个组就被认为投“反对”票。如果超过半数的组投“赞成”票,决议就被通过。

开始岛上的居民高兴地接受了这一做法,然而,引入这一做法的党派,可以影响投票组的构成。因此,他们就有机会对不是多数赞同的决策施加影响。

例如,有3个投票组,人数分别是有5人,5人和7人,那么,对于一个政党,只要在第一组和第二组各有3人支持就足够了,有6个人赞成,而不是9个人赞成,决议就能通过。请您编写程序,根据给出的组数和每组的人数,计算通过决议至少需要多少人赞成。

输入:

第一行给出K ,表示组数(K ≤101);第二行给出K 个数,分别是每一组的人数。K 以及每组的人数都是奇数。总人数不会超过9999人。 输出:

支持某个党派对决策产生影响至少需要的人数。 样例输入 样例输出 3 5 7 5 6

注:

试题来源:Autumn School Contest 2000 在线测试:Ural 1025

提示

把每组人数从小到大排序,总共n 组,则需要有??????2n +1组同意,即人数最少的前??

????2n +1

组。对于一个人数为k 的组需要同意,则需要有

??

?

???2k +1人同意。 由此得出贪心策略:人数最少的前??

????2n +1组中,每组取半数刚过的人数。

【12 Box of Bricks 】

【问题描述】

小Bob 喜欢玩方块砖,他把砖一块放在另一块的上面堆砌起来,堆成不同高度的栈。“看,我建了一面墙”,他告诉他的姐姐Alice 。“不,你要让所有的栈有相同的高度,这样你就建了一面真正的墙了。” Alice 反驳说。Bob 考虑了一下,认为他姐姐是对的。因此他开始重新一块接一块地重新安排砖块,让所有的栈有着相同的高度。但由于Bob 很懒惰,他要移动砖块的数量最少。你能帮助他吗?

输入:

输入由若干组测试用例组成。每组测试用例的第一行给出整数n ,表示Bob 建的栈的数目。下一行给出n 个数字,表示n 个栈的高度h i ,本题 设定1 ≤ n ≤ 50,并且1 ≤ h i ≤ 100。

砖块的总数除以栈的数目是可除尽的。也就是说,重新安排砖块使得所有的栈有相同的高度是可以的。

输入由n = 0作为结束,程序对此不必处理。 输出:

对每个测试用例,首先如样例输出所示,输出测试用例编号。然后输出一行"The minimum number of moves is k .",其中k 是移动砖块使得所有的栈高度相同的最小数。在每个测试用例后输出一个空行。 样例输入 样例输出 6 5 2 4 1 7 5 0 Set #1

The minimum number of moves is 5.

注:

试题来源:ACM Southwestern European Regional Contest 1997 在线测试:POJ 1477,ZOJ 1251,UV A 591

提示

设平均值avg=

n

h

n

i i

∑=1

,avg 即为移动后栈的相同高度。

第i 个栈中砖头被移动的度量标准:若h i >avg ,则栈中有h i -avg 块砖头被移动。 贪心使用这个度量标准是正确的,因为砖头被移动至高度低于avg 的栈中。由于砖块总数除以栈的数目是可除尽的,因此这些栈中的砖头是不须再移动的。由此得出最少移动的砖数ans=

)(1

avg h avg h

i n

i i

>-∑=

【13 Minimal coverage 】

【问题描述】

给出直线的若干条线段,直线是X 轴,线段的坐标为[L i , R i ]。求最少要用多少条线段可以覆盖区间[0, m ]。 输入:

输入的第一行给出测试用例的数目,后面给出一个空行。

每个测试用例首先给出一个整数M (1≤M ≤5000),接下来若干行,每行以"L i R i "(|L i |, |R i |≤50000, i ≤100000)表示线段。每个测试用例以“0 0”为结束。

两个测试用例之间用一个空行分开。 输出:

对每个测试用例,输出的第一行是一个数字,表示覆盖区间[0, m]的最少线段数。接下来若干行表示选择的线段,给出线段的坐标,按左端(L i)排序。程序不处理"0 0"。若无解,即[0, m]不可能被给出的线段覆盖,则输出"0"(没有引号)。

在两个连续的测试用例之间输出一个空行。

样例输入样例输出

2

1

-1 0 -5 -3 2 5 0 0

1

-1 0 0 1 0 0 0

1 0 1

注:

试题来源:USU Internal Contest March'2004

在线测试:UV A 10020,Ural 1303

提示

把所有线段按左端点为第一关键字、右端点为第2关键字递增排序((L i≤L i+1||(( L i== L i+1)&&( R i< R i+1)),1≤i≤线段数-1)。

选取覆盖线段的度量标准:在所有左端点被覆盖线段中找右端点最远的线段。

贪心实现的过程:

设当前线段覆盖到的位置为now;所有左端点被覆盖的线段中可以覆盖最远的位置为len,该线段为k。初始时ans=now=len=0。

依次分析序列中的每条线段:

if (L i≤now)&&(len< R i){ len= R i;k=i;}

if (L i+1 >now) &&(now

if (now≥m)输出覆盖线段并退出程序;

分析了所有线段后now

【14 Annoying painting tool】

【问题描述】

你想知道一个恼人的绘画工具是什么吗?首先,本题所讲的绘画工具仅支持黑色和白色,因此,图片是一个像素组成的矩形区域,像素不是黑色就是白色。其次,只有一个操作改变像素的颜色:

选择一个r行c列的像素组成的矩形,这个矩形是完全在一个图片内。作为操作的一个结果,在矩形内的每个像素会改变其颜色(从黑到白,从白到黑)。

最初,所有的像素是白色的。创建一个图片,应用上述的操作数次。你能描绘出你心目的那幅图片吗?

输入:

输入包含若干测试用例。每个测试用例的第一行给出4个整数n,m,r和c,(1 ≤ r ≤ n ≤ 100, 1 ≤ c≤ m≤ 100),然后的n行每行给出您要画的图的一行像素。第i行由m个字符组成,描述在结束绘画时第i行的像素值('0'表示白色,'1'表示黑色)。

最后一个测试用例后的一行给出4个0。

输出:

对每个测试用例,输出产生最终绘画结果需要操作的最小数;如果不可能,输出-1。样例输入样例输出

3 3 1 1 010 101 010

4 3 2 1 011 110 011 110

3 4 2 2 0110 0111 0000 0 0 0 0 4 6 -1

注:

试题来源:Ulm Local 2007

在线测试:POJ 3363

提示

进行一次操作的度量标准:当前子矩阵左上角的像素和目标矩阵的对应像素的颜色不

同。贪心实现的方法如下

由左而右、自上而下枚举子矩阵的左上角a[i][j] (1≤i≤n-r+1,1≤j≤m-c+1):

若左上角像素的颜色与目标矩阵对应元素的颜色不同(a[i][j]!=b[i][j]),则操作次数c+1;子矩阵内所有像素的颜色取反(a[k][l]^=1,i≤k≤i+k-1,j≤l≤j+c-1)。

最后再检验一遍当前矩阵a[][]和目标矩阵b[][]是否完全一样。若还有不一样的地方,则说明无解;否则c为产生最终绘画结果需要操作的最少次数。

【15 Troublemakers】

【问题描述】

每所学校都有麻烦制造者(troublemaker)——那些孩子们可以使教师的生活苦不堪言。一个麻烦制造者还是可以管理的,但是当你把若干对麻烦制造者放在同一个房间里,教学就变得非常困难。在Shaida夫人的数学课上有n个孩子,其中有m对麻烦制造者。情况变得如此的差,使得Shaida夫人决定将一个班级分成两个班级。请您帮Shaida夫人将麻烦制造者的对数减少至少一半。

输入:

输入的第一行给出测试用例数N,然后给出N个测试用例。每个测试用例的第一行给出n(0≤n≤100)和m(0

输出:

对于每个测试用例,先输出一行"Case #x:",后面给出L——要转到另一间房间的孩子的数目,下一行列出那些孩子。在两个房间中麻烦制造者对数的总数至多是m/2。如果不可能,则输出"Impossible."代替L,然后输出一个空行。

样例输入样例输出

2 4 3

1 2

2 3

3 4

4 6 1 2 1 3

1 4

2 3

2 4

3 4 Case #1: 3 1 3 4 Case #2: 2 1 2

注:

试题来源:Abednego's Graph Lovers' Contest, 2006

在线测试:UV A 10982

提示

以孩子为节点,每对麻烦制造者之间连边,构造无向图g。设两个班级分别对应集合s[0]和集合s[1],其中s[1]中的人数较少。

依次确定每个孩子i(1≤i≤n)所在的班级:将孩子1‥孩子i-1中与孩子i结对制造麻烦的孩子划分成s[0]和s[1]集合。若s[1]中的孩子数较少,则孩子i送入s[1]集合,这就是孩子i转移到另一间房间的度量标准。贪心实现的方法是

依次搜索每个节点i(1≤i≤n):

统计节点1‥i-1中与节点i有边相连的点在集合s[0]和集合s[1]的点数;

若s[1]中的点数较少,则节点i送入s[1]集合;

最后s[1]集合中的节点对应要转到另一间房间的孩子。

【16 Constructing BST】

【问题描述】

BST(Binary Search Tree,二叉搜索树)是一个用于搜索的有效的数据结构。在一个BST 中,所有左子树中的元素小于根,右子树中的元素大于根。

我们通常通过连续地插入元素来构造BST,而插入元素的顺序对于树的结构有很大的影响。请看下例:

在本题中,我们要给出从1到N的整数来构造BST,使得树的高度至多为H。BST的高度定义如下:

1. 没有结点的BST的高度为0;

2. 否则,BST的高度等于左子树和右子树的高度的最大值加1。

可以存在若干顺序可以满足这一要求。在这种情况下,取小数字排在前的序列。例如,对于N=4,H=3,我们给出的序列是1 3 2 4,而不是2 1 4 3或3 2 1 4。

输入:

每个测试用例给出两个正整数N(1≤N≤10000)和H(1≤H≤30)。输入以N=0,H=0结束,这一情况不用处理。至多有30个测试用例。

输出:

对于每个测试用例,输出一行,以“Case #: “开始,其中…#?是测试用例的编号;然后在这一行中给出N个整数的序列,在一行的结束没有多余的空格。如果无法构造这样的树,则输出“Impossible.”(没有引号)。

样例输入样例输出

4 3 4 1 6 3 0 0 Case 1: 1 3 2 4 Case 2: Impossible. Case 3: 3 1 2

5 4 6

注:

试题来源:ACM ICPC World Finals Warmup 1,2005

在线测试:UV A 10821

提示

试题要求输出BST的前序遍历,即第一个输出根。因为要求字典序最小,所以要让根尽量小。

对于把编号为1到n的节点排成一个高度不高于h的bst,左右子树的节点数不应超过2h-1-1。根节点的度量标准是

若根的右侧可以放满节点,则根的编号root为n-(2h-1-1);否则根的编号root为1,即根编号root=max{1,n-(2h-1-1)}。

之后问题就转化成了把编号为1到root-1的节点排成一个高度不高于h-1的左bst子树和把编号为root+1到n的节点排成一个高度不高于h-1的右bst子树。

上述贪心解法是递归定义的,可递归解决。

【17 Ordering Tasks】

John有n项任务要做。不幸的是,这些任务并不是独立的,有的任务只有在其他一些任务完成以后才能开始做。

输入:

输入由几个测试用例组成。每个用例的第一行给出两个整数:1≤n≤100和m。n是任务的数量(从1到n编号),m是在两个任务之间直接优先关系的数量。然后是m行,每行两个整数i和j,表示任务i必须在任务j之前执行。以实例n=m=0结束输入。

输出:

对每个测试用例,输出一行,给出n个整数,表示任务执行的一个可能的顺序。

样例输入样例输出

1 4

2 5 3

5 4

1 2

2 3

1 3

1 5

0 0

注:

试题来源:GWCF Contest 2 (Golden Wedding Contest Festival)

在线测试:UV A 10305

提示

任务作为节点,两个任务之间的直接优先关系作为边:若任务i必须在任务j之前执行,则对应有向边,这样可将任务间的先后关系转化为一张有向图,使得任务执行的一个可能的顺序对应这张有向图的拓扑排序。设

节点的入度序列为ind[],其中节点i的入度为ind[i](0≤i≤n-1);

邻接表为lis[],其中节点i的所有出边的另一端点存储在lis[i]中,lis[i]为一个List 容器

队列q存储当前入度为0的节点,队首指针为h,队尾指针为t;

我们在输入信息的同时构建邻接表lis[],计算节点的入度序列为ind[],并将所有入度为0的节点送入队列q;

然后依次处理q队列中每个入度为0的节点:

取出队首节点x;

lis[x]容器中每个相邻节点的入度-1,相当于删除x的所有出边;

新增入度为0的节点入q队列;

依次类推,直至队列空为止。相继出队的节点q[0]‥q[n-1] 即为一个拓扑序列。

【18 Spreadsheet】

在1979年,Dan Bricklin和Bob Frankston编写了第一个电子制表应用软件VisiCalc,这一软件获得了巨大的成功,并且在那时成为Apple II计算机的重要应用软件。现在电子制表是大多数计算机的重要的应用软件。

电子制表的思想非常简单,但非常实用。一个电子制表由一个表格组成,每个项不是一

个数字就是一个公式。一个公式可以基于其他项的值计算一个表达式。文本和图形也可以加入用于表示。

请编写一个非常简单的电子制表应用程序,输入若干份表格,表格的每一个项或者是数字(仅为整数),或者是支持求和的公式。在计算了所有公式的值以后,程序输出结果表格,所有的公式都已经被它们的值代替。

输入:

输入文件第一行给出测试用例中的表格的数目。每个表格的第一行给出用一个空格分开的两个整数,表示表格的列数和行数,然后给出表格,每行表示表格的一行,每行由该行的项组成,每个项用一个空格分开。

一个项或者是一个数字值,或者是一个公式。一个公式由一个等号开始(=),后面是一个或多个用加号(+)分开的项的名称,这样公式的值是在相应的项中的所有值的总和。这些项也可以是一个公式,在公式中没有空格。

可以设定在这些项之间没有循环依赖,因此每个表格可以是完全可计算的。

每一个项的名字是由1到3个字母(按列),后面跟着数字从1到999(按行)组成。按列的字母构成如下序列:A, B, C, ..., Z, AA, AB, AC, ..., AZ, BA, ..., BZ, CA, ..., ZZ, AAA, AAB, ..., AAZ, ABA, ..., ABZ, ACA, ..., ZZZ。这些字母相应于从1到18278的数字,如图所示,左上角的项取名为A1

左上方的项的命名

输出:

除了表格的数目以及列和行的数目不重复以外,程序输出和输入的格式一样。而且,所有的公式要被它们的值取代。

样例输入样例输出

1

4 3

10 34 37 =A1+B1+C1

40 17 34 =A2+B2+C2

=A1+A2 =B1+B2 =C1+C2 =D1+D2 10 34 37 81 40 17 34 91 50 51 71 172

注:

试题来源:1995 ACM Southwestern European Regional Contest 在线测试:POJ 1420,UV A 196

提示

在表达式中各项的命名格式,字母A …ZZZ 代表列,数字1…999代表行。需要将列字母转化为列序号,行数串转化为行序号。转化方法:

A 代表1,…Z 代表26,字母序列c k ‥c 1对应一个26进制的列序号y=

11

26*)64(-=∑-i k

i i

c

数串b p ‥b 1应一个十进制的行序号x=

11

10*)48(-=∑-i p

i i

b

即表达式中的项c k ‥c 1 b p ‥b 1对应表格位置(x ,y )。 设

数值表格为w[][];

表达式项所在位置值为d ,(i,j )对应位置值d=j*1000+i ,即d % 1000为行号,

??

?

???1000d 为列号。 我们将表格转化为一个有向图:每项为一个节点,数值项与表达式项间的关联关系为有向边。若数值项(x,y )对应表达式项(i,j )中的某项,则(x,y )连一条有向边至(i,j )。设

相邻矩阵为g ,其中g[x][y]存储与数值项(x,y )关联的所有表达式项的位置值; 表达式项的入度序列为ind ,即(i,j )中的表达式目前含ind[i][j]个未知项。显然ind[i][j]==0,表明(i,j )为数值项; ①构造有向图

我们边输入表格边构造有向图:若(i,j )为数值项,则数值存入w[i][j];若(i,j )为表达式项,则取出其中的每一项,计算其对应的行号x 和列号y ,(i,j )的位置值送入g[x][y]邻接表,并累计(i,j )的入度(++ind[i][j])。 ②使用删边法计算有向图的拓扑序列

首先将图中所有入度为0的节点(数值项)的位置值送入队列q ;然后依次按下述方法处理队列中的每一项:

取出队首节点的位置值,将之转化为(x,y )。依次取g[x][y]中与数值项(x,y )相关联的每个表达式项的位置值,转化为表格位置(tx,ty ), 将(x,y )的值计入(tx,ty )中的表达式项(w[tx][ty]+=w[x][y]),(tx,ty )的入度-1(--ind[tx][ty])。若入度减至0,则(tx,ty )的位置值送入q 队列。

依次类推,直至队列空为止。最后输出数值表格w 。

【19 Genealogical Tree 】

火星人直系亲属关系的系统非常混乱。火星人在不同的群体中群居生活,因此一个火星人可以有一个父母,甚至也可以有十个父母;而且一个火星人有100个孩子也不会让人感到

信息学奥赛NOIP初赛复习知识点

信息学奥赛NOIP初赛复习知识点 1、计算机相关科学家: A:被西方人誉为“计算机之父”的美籍匈牙利科学家、数学家冯·诺依曼于1945年发表了一个 全新的"存储程序通用电子计算机方案"—EDVAC。EDVAC方案提出了著名的“ 冯·诺依曼体系结构”理论:(1)采用二进制形式表示数据和指令(2)采用存储程序方式(3)由运算器、存储器、控制器、输 入设备和输出设备五大部件组成计算机系统 B:“图灵机”与“冯·诺伊曼机”齐名,被永远载入计算机的发展史中。1950年10月,图灵又发表了另 一篇题为“机器能思考吗”的论文,成为划时代之作。也正是这篇文章,为图灵赢得了“人工智能之父”的桂冠。与计算机有关的最高奖项“图灵奖”。 2、与竞赛有关的知识: A:信息学奥赛相关的软件有:anjuta 1.2.2版; Red Hat 9.0 自带了gcc/g++ 3.2.2版; Lazarus 0.9.10版;free pascal编译器 2.0.1版; gdb 6.3版;RHIDE;(turbo pascal淘汰) 3、与计算机系统相关的知识: A:常见的操作系统有:DOS、WIN32、WIN95、WIN98、WIN2000、WINXP、WIN2003、WIN2007、LINUX、VISTA 4、与计算机软件相关的知识:无 5、与计算机硬件相关的知识: A:断电后能保存信息的有:ROM(只读存储器)、硬盘、软盘、光盘、U盘、MP3、MP4等;不能保存的主要是RAM(读写存储器)。 B:CPU又名中央处理器,它可以拆分成运算器、控制器 6、病毒及防火墙: A:防火墙的作用是防止黑客攻击。 7、与编程语言相关的知识: A:1972年PARC发布了Smalltalk的第一个版本。大约在此时,“面向对象”这一术语正式确定。Smalltalk被认为是第一个真正面向对象的语言 B:第一代语言:机器语言(0101001);第二代语言:20世纪50年代,汇编语言,第三代语言:高级语言、算法语言,如BASIC,FORTRAN,COBOL,PASCAL,C;高级语言的特点是可读性强,编 程方便;第四代语言:非过程化语言;SQL;第五代语言:智能性语言,PROLOG(代表);还有:LISP,APL,SNOBOL,SIMULA。

信息学奥赛培训计划(复赛)

信息技术学科信息学奥赛社团培训计划 制定人:玄王伟 2018年10月

信息学奥赛培训计划方案推进信息技术教育是全面实施素质教育的需要,是培养具有创新精神和实践能力的新型人才的需要。信息学奥赛的宗旨为:“丰富学生课余生活,提高学生学习兴趣,激发学生创新精神。”为此,我们应以竞赛作为契机进而培养学生综合分析问题、解决问题的意识和技能。 为响应学校号召,积极参与信息技术奥林匹克竞赛,校本课程特别开设C++语言程序设计部分,利用社团活动时间对部分学生进行辅导。教学材料以信息学奥赛一本通训练指导教程为主,力图让学生们对编写程序有较深入了解的同时,能够独立编写解决实际问题的算法,逐步形成解题的思维模式。因学习内容相对中小学学生具有一定的难度,本课程采用讲练结合的形式,紧紧围绕“程序=算法+数据结构”这一核思想,以数学问题激发学生学习兴趣,进而达到学习目标。为更好地保证信息学奥赛的培训效果,特制订本培训计划。 一、培训目标 1.使学生具备参加全国信息学奥林匹克竞赛分区联赛NOIP(初赛、复赛)的能力。 2.使学生养成较好的抽象逻辑推理能力、严谨的思维方式和严密的组织能力,并使学生的综合素质的提高。 3.使学生初步具备分析问题和设计算法的能力。 二、培训对象 我校小学及初中对信息学感兴趣且初赛成绩较好的学生,人数共

计14人,其中小学组12人,普及组2人。 三、培训要求 严格培训纪律,加强学生管理;信息学社团的组建由学生自愿报名、教师考察确定;培训过程中做与培训无关的事如打游戏、上网聊天等,一经发现作未参加培训处理;规定的作业、练习必须按时保质保量完成,否则按未参加培训处理。 四、培训内容 1.深入学习计算机基础知识,包括计算机软硬件系统、网络操作、信息安全等相关知识内容,结合生活实际让学生真正体会到参加信息学奥赛的乐趣。 2.全面学习C++语言的基础知识、学会程序的常用调试手段和技巧,在用C++解决问题的过程中引入基础算法的运用。 3.深入学习各类基础算法,让学生真正理解算法的精髓,遵循“算法+数据结构=程序”的程序设计思想,在算法设计的教学实例中引入数据结构的学习,从而形成一定的分析和解决问题的能力。 4.以实例为基础,展开强化训练,使学生开始具备运用计算机独立解决实际问题的能力。用计算机解决现实问题的最重要的一个前提就是数据模型的建立和数据结构的设计。数据模型的建立、数学公式的应用,是计算机解决问题的关键。因此,加强与数学学科的横向联系非常必要。 五、培训时间 自2018年10月份第三周开始至2018年11月中旬结束,包括每

信息学奥赛试题

第19届全国青少年信息学(计算机)奥林匹克BASIC 试题说明: 请考生注意,所有试题的答案要求全部做在答题纸上。 一、基础知识单项选择题(共10题,每小题3分,共计30分) 1、存储容量2GB相当于() A、2000KB B、2000MB C、2048MB D、2048KB 2、输入一个数(可能是小数),再按原样输出,则程序中处理此数的变量最好使用() A、字符串类型 B、整数类型 C、实数类型 D、数组类型 3、下列关于计算机病毒的说法错误的是() A、尽量做到使用正版软件,是预防计算机病毒的有效措施。 B、用强效杀毒软件将U盘杀毒后,U盘就再也不会感染病毒了。 C、未知来源的程序很可能携带有计算机病毒。 D、计算机病毒通常需要一定的条件才能被激活。 4、国标码的“中国”二字在计算机内占()个字节。 A、2 B、4 C、8 D、16 5、在计算机中,ASCⅡ码是( )位二进制代码。 A、8 B、7 C、12 D、16 6、将十进制数2013转换成二进制数是( )。 A、11111011100 B、11111001101 C、11111011101 D、11111101101 7、现有30枚硬币(其中有一枚假币,重量较轻)和一架天平,请问最少需要称几次,才能找出假币( )。 A、3 B、4 C、5 D、6 8、下列计算机设备中,不是输出设备的是()。 A、显示器 B、音箱 C、打印机 D、扫描仪 9、在windows窗口操作时,能使窗口大小恢复原状的操作是() A、单击“最小化”按钮 B、单击“关闭”按钮 C、双击窗口标题栏 D、单击“最大化”按钮 10、世界上第一台电子计算机于1946年诞生于美国,它是出于()的需要。 A、军事 B、工业 C、农业 D、教学二、问题求解(共2题,每小题5分,共计10分) 1、请观察如下形式的等边三角形: 边长为 2 边长为4 当边长为2时,有4个小三角形。 问:当边长为6时,有________个小三角形。 当边长为n时,有________个小三角形。 2、A、B、C三人中一位是工人,一位是教师,一位是律师。已知:C比律师年龄大,A和教师不同岁,B比教师年龄小。问:A、B、C分别是什么身分? 答:是工人,是教师,是律师。 三、阅读程序写结果(共4题,每小题8分,共计32分) 1、REM Test31 FOR I =1 TO 30 S=S+I\5 NEXT I PRINT S END 本题的运行结果是:( 1) 2、REM Test32 FOR I =1 TO 4 PRINT TAB (13-3*I); N=0 FOR J =1 TO 2*I-1 N=N+1 PRINT N; NEXT J PRINT NEXT I END 本题的运行结果是:( 2)

初中信息学竞赛练习题

一、单选 1、关于计算机内存下面的说法哪个是正确的: A)随机存储器(RAM)的意思是当程 序运行时,每次具体分配给程序的 内存位置是随机而不确定的。 B)1MB内存通常是指1024*1024字节 大小的内存。 C)计算机内存严格说来包括主存 (memory)、高速缓存(cache)和 寄存器(register)三个部分。 D)一般内存中的数据即使在断电的情 况下也能保留2个小时以上。 2、关于CPU下面哪个说法是正确的: A)CPU全称为中央处理器(或中央处 理单元)。 B)CPU可以直接运行汇编语言。 C)同样主频下,32位的CPU比16位 的CPU运行速度快一倍。 D)CPU最早是由Intel公司发明的。 3. 下列网络上常用的名字缩写对应的中文解释错误的是()。 A. WWW(World Wide Web):万维网。 B. URL(Uniform Resource Locator):统一资源定位器。 C. HTTP(Hypertext Transfer Protocol):超文本传输协议。 D. FTP(File Transfer Protocol):快速传输协议。 E. TCP(Transfer Control Protocol):传输控制协议。 4. 设A=true,B=false,C=true, D=false,以下逻辑运算表达式值为真的是()。 A. (A∧B)∨(C∧D∨?A) B. ((?A∧B)∨C)∧?D C. (B∨C∨D)∧D∧A D. A∧(D∨?C)∧B 5. 在下列关于计算机语言的说法中,不正确的是()。 A. Pascal和C都是编译执行的高级语言 B. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上 C. C++是历史上的第一个支持面向对象的计算机语言 D. 与汇编语言相比,高级语言程序更容易阅读 6.某个车站呈狭长形,宽度只能容下一台车,并且只有一个出入口。已知某时刻该车站状态为空,从这一时刻开始的出入记录为:“进,出,进,进,进,出,出,进,进,进,出,出”。假设车辆入站的顺序为1,2,3,……,则车辆出站的顺序为()。 A. 1, 2, 3, 4, 5 B. 1, 2, 4, 5, 7 C. 1, 4, 3, 7, 6 D. 1, 4, 3, 7, 2 7.在C语言中,判断a不等于0且b不等于0的正确的条件表达式是() A. !a==0 || !b==0 B. !((a==0)&&(b==0)) C. !(a==0&&b==0) D. a && b 8.(2010)16 + (32)8的结果是()。 A. (8234)10 B. (202B)16 C. (20056)8 D. (100000000110)2 9.在C程序中,表达式200|10的值是() A. 20 B. 1 C. 220 D. 202 10.在下列各项中,只有()不是计算机存储容量的常用单位。 A. Byte B. KB C.UB D.TB 11.LAN 的含义是()。 A. 因特网 B. 局域网 C.广域网 D.城域网 12.以下断电之后仍能保存数据的有()。 A. 硬盘 B. 高速缓存 C. 显存 D. RAM

信息学奥赛一本通算法(C 版)基础算法:高精度计算资料

信息学奥赛一本通算法(C++版)基础算法:高精度计算 高精度加法(大位相加) #include using namespace std; int main() { char a1[100],b1[100]; int a[100],b[100],c[100];//a,b,c分别存储加数,加数,结果 int lena,lenb,lenc,x,i; memset(a,0,sizeof(a));//数组a清零 memset(b,0,sizeof(b));//数组b清零 memset(c,0,sizeof(c));//数组c清零 //gets(a1); //gets(b1); //getchar(); while(scanf("%s%s",&a1,&b1)!=EOF) { lena=strlen(a1); lenb=strlen(b1); for(i=0;i<=lena;i++) a[lena-i]=a1[i]-'0';//将数串a1转化为数组a,并倒序存储 //a[i]=a1[lena-i-1]-48; for(i=0;i<=lenb;i++) b[lenb-i]=b1[i]-'0';//将数串a1转化为数组a,并倒序存储 //b[i]=b1[lenb-i-1]-48; lenc=1; //lenc表示第几位 x=0; //x是进位 while(lenc<=lena||lenc<=lenb) { c[lenc]=a[lenc]+b[lenc]+x;//第lenc位相加并加上次的进位 x=c[lenc]/10;//向高位进位 c[lenc]%=10;//存储第lenc位的值 lenc++;//位置下标变量 } c[lenc]=x; if(c[lenc]==0) lenc--; //处理最高进位 for(i=lenc;i>=1;i--) cout<

信息学奥赛基础知识习题(答案版)

信息学奥赛基础知识习题(答案版) 一、选择题(下列各题仅有一个正确答案,请将你认为是正确的答案填在相应的横线上) 1.我们把计算机硬件系统和软件系统总称为 C 。 (A)计算机CPU (B)固 件 (C)计算机系统 (D)微处 理机 2.硬件系统是指 D 。 (A)控制器,器运算 (B)存储器,控制器 (C)接口电路,I/O设备 (D)包括(A)、(B)、(C) 3. 计算机软件系统包括 B 。 A) 操作系统、网络软件 B) 系统软件、应用软件 C) 客户端应用软件、服务器端系统软件 D) 操作系统、应用软件和网络软件4.计算机硬件能直接识别和执行的只有 D 。 (A)高级语言 (B)符号语言 (C)汇编语言 (D)机器语言 5.硬盘工作时应特别注意避免 B 。 (A)噪声 (B)震动 (C)潮 湿 (D)日光 6.计算机中数据的表示形式是 C 。 (A)八进制 (B)十进制 (C)二进 制 (D)十六进制

7.下列四个不同数制表示的数中,数值最大的是 A 。 (A)二进制数11011101 (B)八进制数334 (C)十进制数219 (D)十六进制 数DA 8.Windows 9x操作系统是一个 A 。 (A)单用户多任务操作系统 (B)单用户单任务操 作系统 (C)多用户单任务操作系统 (D)多用户多任务操 作系统 9.局域网中的计算机为了相互通信,必须安装___B__。 (A)调制解调器(B)网卡(C)声卡(D)电视卡 10.域名后缀为edu的主页一般属于__A____。 (A)教育机构(B)军事部门(C)政府部门(D)商业组织 11. 在世界上注册的顶级域名是__A____。 (A)hk(B)cn(C)tw(D) 12.计算机能够自动、准确、快速地按照人们的意图进行运行的最基本思想是( D )。 (A)采用超大规模集成电路(B)采用CPU作为中央核心部件 (C)采用操作系统(D)存储程序和程序控制 13.设桌面上已经有某应用程序的图标,要运行该程序,可以 C 。 (A)用鼠标左键单击该图标 (B)用鼠标右键单击该 图标 (C)用鼠标左键双击该图标 (D)用鼠标右键双击该 图标

信息学奥赛比赛练习题

A类综合习题 1.一种计算机病毒叫黑色星期五,如果当天是13号,又恰好是星期五,就会发作起来毁球计算机的存储系统,试编程找出九十年代中这种病毒可能发作的日期。 2.任意给定一个自然数N,要求M是N的倍数,且它的所有各位数字都是由0或1组成,并要求M尽可能小。 例:N=3―――>M=3*37=111,N=31―――>M=31*3581=111011 3.合下面条件的5个正整数: (1)5个数之和为23; (2)从这5个数中选取不同的数作加法,可得1-23中的所有自然数,打印这5个数及选取数组成的1--23的加法式。 4.将数字65535分解成若干个素数之积。 5.由1..9这九个数字组成的九位数(无重复数字)能被11整除,求最大、最小值。 6.某次智力测验,二等奖获得者共三人,以下奖品每人发给两样: ①钢笔②集邮本③影集④日记本⑤圆珠笔⑥象棋 打印各种分配方案及总分配数。 7.个同样种类的零件,已知其中有一个是次品,比正品较轻,仅限用天平称4次,把次品找出来,要求打印每次称量过程。 8.输入N个数字(0-9),然后统计出这组数中相邻两数字组成的数字对出现的次数。 如:0,1,5,9,8,7,2,2,2,3,2,7,8,7,9,6,5,9中可得到: (7,8)数字对出现次数2次,(8,7)数字对出现次数为3次。 9.由M个数字构成一个圆,找出四个相邻的数,使其和为最大、最小。 10.输一个十进制数,将其转换成N进制数(0<N<=16)。 11.读入N,S两个自然数(0<=S,N<=9),打印相应的数字三角形(其中,S表示确定三角形的第一个数,N表示确定三角形的行数)。 例:当N=4,S=3时打印:当N=4。S=4时打印: 3{首位数为奇数} {首位数为偶数} 4 4 5 &nb sp; 6 5 6 7 8 9 8 7 9 1 2 3 4 3 2 1 12.如图所示的9*9的矩阵中,除了10个格是空的外,其余的都填上了字符"*",这10个空的格子组成了一个五角星图案的10个交叉点。 下矩阵为输入(1,5)时的输出 * * * * * * * * * * * * 0 * * * * * * * * * * * * * * * * * * * * * * * * * * * 4 * * 7 * 3 * * 6 * * * * * * * * * * * * * * * * * * * * * * * * * * * 1 * * * 9 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5 * * * * * * * * * * * * * * * * * * * * * *

NOIP2015信息学奥赛普及组初赛C++试题

2015年第二十一届全国青少年信息学奥林匹克联赛初赛 普及组C++语言试题 竞赛日寸间:2015年10月l 1日14:30~16:30 选手注意: ●试题纸共有7页,答题纸共有2页,满分100分。请在答题纸上作答,写在试题纸上的一律无效。 ●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。 一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选 项) 1.1MB等于( )。 A.1000字节B.1024字节 C.1000X 1000字节D.1024X 1024字节 2.在PC机中,PENTIUM(奔腾)、酷睿、赛扬等是指( )。 A.生产厂家名称B.硬盘的型号C.CPU的型号D.显示器的型号 3.操作系统的作用是( )。 A.把源程序译成目标程序B.便于进行数据管理 C.控制和管理系统资源D.实现硬件之间的连接 4.在计算机内部用来传送、存贮、加工处理的数据或指令都是以( )形式进行的。 A.二进制码B.八进制码C.十进制码D.智能拼音码 5.下列说法正确的是( )。 A.CPU的主要任务是执行数据运算和程序控制 B.存储器具有记忆能力,其中信息任何时候都不会丢失 C.两个显示器屏幕尺寸相同,则它们的分辨率必定相同 D.个人用户只能使用Wifi的方式连接到Internet 6.二进制数00100100和00010100的和是( )。 A. 00101000 B. 01001001 C. 01000100 D.00111000 7.与二进制小数0.1相等的十六进制数是( )。 A.0.8 B.0.4 C.0.2 D.0.1 8.所谓的“中断”是指( )。 A.操作系统随意停止一个程序的运行 B.当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的过程 C.因停机而停止一个程序的运行 D.电脑死机 9.计算机病毒是( )。 A.通过计算机传播的危害人体健康的一种病毒 B.人为制造的能够侵入计算机系统并给计算机带来故障的程序或指令集合 C.一种由于计算机元器件老化而产生的对生态环境有害的物质 D.利用计算机的海量高速运算能力而研制出来的用于疾病预防的新型病毒 10.FTP可以用于( )。 A.远程传输文件B.发送电子邮件C.浏览网页D.网上聊天 11.下面哪种软件不属于即时通信软件( )。 A.QQ B.MSN C.微信D.P2P 12.6个顶点的连通图的最小生成树,其边数为( )。 A. 6 B. 5 C.7 D. 4 13.链表不具备的特点是( )。 A.可随机访问任何一个元素 B.插入、删除操作不需要移动元素

信息学奥赛初赛试题(第十六届)

第十六届全国青少年信息学奥林匹克联赛初赛试题(提高组 Pascal 语言二小时完成) ●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●● 一.单项选择题(共10题,每题1.5分,共计15分。每题有且仅有一个正确答案。) 1.与16进制数 A1.2等值的10进制数是() A.101.2 B.111.4 C.161.125 D.177.25 2.一个字节(byte)由()个二进制组成。 A.8 B.16 C.32 D.以上都有可能 3.以下逻辑表达式的值恒为真的是()。 A.P∨(┓P∧Q)∨(┓P∧┓Q) B.Q∨(┓P∧Q)∨(P∧┓Q) C.P∨Q∨(P∧┓Q)∨(┓P∧Q) D.P∨┓Q∨(P∧┓Q)∨(┓P∧┓Q) 4.Linux下可执行文件的默认扩展名是( )。 A. exe B. com C. dll D.以上都不是 5.如果在某个进制下等式7*7=41成立,那么在该进制下等式12*12=()也成立。 A. 100 B. 144 C. 164 D. 196 6.提出“存储程序”的计算机工作原理的是()。 A. 克劳德?香农 B.戈登?摩尔 C.查尔斯?巴比奇 D.冯?诺依曼 7.前缀表达式“+ 3 * 2 + 512 ” 的值是()。A. 23 B. 25 C. 37 D. 65 8.主存储器的存取速度比中央处理器(CPU)的工作速度慢的多,从而使得后者的效率受到影响。而根据局部性原理,CPU所访问的存储单元通常都趋于一个较小的连续区域中。于是,为了提高系统整体的执行效率,在CPU中引入了( )。A.寄存器 B.高速缓存 C.闪存 D.外存 9.完全二叉树的顺序存储方案,是指将完全二叉树的结点从上到下、从左到右依次存放到一个顺序结构的数组中。假定根结点存放在数组的1号位置上,则第k号结点的父结点如果存在的话,应当存放在数组中的()号位置。 A. 2k B. 2k+1 C. k/2下取整 D. (k+1)/2 10.以下竞赛活动中历史最悠久的是()。A. NOIP B.NOI C. IOI D. APIO 二.不定项选择题(共10题,每题1.5分,共计15分。每题正确答案的个数不少于1。多选或少选均不得分)。 1.元素R1、R2、R3、R4、R5入栈的顺序为R1、R2、R3、R4、R5。如果第1个出栈的是R3,那么第5个出栈的可能是( )。A.R1 B.R2 C.R4 D.R5 2. Pascal语言,C语言和C++语言都属于( )。A.高级语言 B.自然语言 C.解释性语言 D.编译性语言

信息学奥赛一本通题解目录-信息学奥赛取消

信息学奥赛一本通题解目录:信息学奥赛取消 第1章 数论1.1 整除1.2 同余1.3 最大公约数1.3.1 辗转相除法1.3.2 进制算法1.3.3 最小公倍数1.3.4 扩展欧几里得算法1.3.5 求解线性同余方程1.4 逆元1.5 中国剩余定理1.6 斐波那契数1.7 卡特兰数1.8 素数1.8.1 素数的判定1.8.2 素数的相关定理1.8.3 Miller-Rabin素数测试1.8.4 欧拉定理1.8.5 PollardRho算法求大数因子1.9

Baby-Step-Giant-Step及扩展算法1.10 欧拉函数的线性筛法1.11 本章习题第2章群论2.1 置换2.1.1 群的定义2.1.2 群的运算2.1.3 置换2.1.4 置换群2.2 拟阵2.2.1 拟阵的概念2.2.2 拟阵上的最优化问题2.3 Burnside引理2.4 Polya定理2.5 本章习题第3章组合数学3.1 计数原理3.2 稳定婚姻问题3.3 组合问题分类3.3.1 存在性问题3.3.2 计数性问题3.3.3 构造性问题3.3.4 最优化问题3.4 排列3.4.1

选排列3.4.2 错位排列3.4.3 圆排列3.5 组合3.6 母函数3.6.1 普通型母函数3.6.2 指数型母函数3.7 莫比乌斯反演3.8 Lucas定理3.9 本章习题第4章概率4.1 事与概率4.2 古典概率4.3 数学期望4.4 随机算法4.5 概率函数的收敛性4.6 本章习题第5章计算几何5.1 解析几何初步5.1.1 平面直角坐标系5.1.2 点5.1.3 直线5.1.4 线段5.1.5 多边形5.1.6

信息学竞赛习题解答5(模拟)

《算法与程序实践》习题解答5——模拟 现实中的有些问题,难以找到公式或规律来解决,只能按照一定步骤,不停地做下去,最后才能得到答案。这样的问题,用计算机来解决十分合适,只要能让计算机模拟人在解决此问题的行为即可。这一类的问题可以称之为“模拟题”。比如下面经典的约瑟夫问题: CS51:约瑟夫问题 (来源:https://www.wendangku.net/doc/f03807233.html, 2746,程序设计导引及在线实践(李文新)例6.1 P141) 问题描述: 约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从 1 开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。 输入: 每行是用空格分开的两个整数,第一个是n,第二个是m ( 0 < m, n < 300) 。最后一行是: 0 0 输出: 对于每行输入数据(最后一行除外),输出数据也是一行,即最后猴王的编号。 样例输入: 6 2 12 4 8 3 0 0 样例输出: 5 1 7 解题思路: 初一看,很可能想把这道题目当作数学题来做,即认为结果也许会是以n和m为自变量的某个函数f(n,m),只要发现这个函数,问题就迎刃而解。实际上,这样的函数很难找,甚至也许根本就不存在。用人工解决的办法就是将n个数写在纸上排成一圈,然后从1开始数,每数到第m个就划掉一个数,一遍遍做下去,直到剩下最后一个。有了计算机,这项工作做起来就会快多了,我们只要编写一个程序,模拟人工操作的过程就可以了。 用数组anLoop来存放n个数,相当于n个数排成的圈;用整型变量 nPtr指向当前数到的数组元素,相当于人的手指;划掉一个数的操作,就用将一个数组元素置0的方法来实现。人工数的时候,要跳过已经被划掉的数,那么程序执行的时候,就要跳过为0的数组元素。需要注意的是,当nPtr指向anLoop中最后一个元素(下标n-1)时,再数下一个,则nPtr要指回到数组的头一个元素(下标0),这样anLoop才象一个圈。 参考程序: #include

C++入门培训讲义

武平一中信息学奥林匹克竞赛校本课程 C++编程 第一课时:认识C++程序和DEV-C++集成开发环境 一.学习目标: 1.认识C++程序结构; 2.掌握编程基本步骤; 3.记住“保存”、“编译”和“运行”的快捷键(ctrl+s、F9、F10) 二.学习内容与步骤: 1.双击桌面图标,启动DEV-C++集成开发环境,单击“文件”菜单下的“新建——>源代码”命令,在程序编辑区输入下面程序: #include #include using namespace std; int main() { cout<<"hello"; system("pause"); return 0; } 2.输入完毕,单击“文件”菜单下的保存命令。在弹出的“保存文件”对话框中保存位置选择“桌面”,文件名为“ex1”,文件类型为c++不必修改,单击保存。 3.单击“运行”菜单下的“编译”命令,窗口出现红色条时说明程序有错误,请对照修改,直到正确为止。 4.单击“运行”菜单下的“运行”命令;弹出新窗口,观察新窗口中内容,按一下键盘任意键(通常按空格键),返回编辑界面。 5.单击“文件”菜单“退出”命令,结束。 6.观察桌面的ex1.cpp和ex1.exe两个文件,双击“ex1.exe”试试,ex1.cpp 称为源程序,ex1.exe称为可执行程序,虽然这个程序简单了一点,但是电脑中的程序就是这样设计出来的。 7.参考以上步骤,输入下面这个程序: #include using namespace std; int main() { int a,b,c;

信息学奥赛试题

第19届全国青少年信息学(计算机)奥林匹克BASIC二、问题求解(共2题,每小题5分,共计10 分)试题说明: 1、请观察如下形式的等边三角 形: 请考生注意,所有试题的答案要求全部做在答题纸 上。 一、基础知识单项选择题(共10题,每小题3分,共计30分) 1、存储容量2GB相当于( 边长为2边长为4 A 2000K B B、2000MB C、2048MB D、2048KB 2、输入一个数(可能是小数),再按原样输出,则程序中处理此数的变量最好使用() A、字符串类型 B、整数类型 C、实数类型D 、数组类型 3、下列关于计算机病毒的说法错误的是() A、尽量做到使用正版软件,是预防计算机病毒的有效措施。 B 用强效杀毒软件将U盘杀毒后,U盘就再也不会感染病毒了。 C未知来源的程序很可能携带有计算机病毒。 D计算机病毒通常需要一定的条件才能被激活。 4、国标码的“中国”二字在计算机内占()个字节。 A 2 B、4 C、8 D、16 5、在计算机中,ASC H码是()位二进制代码。 A 8 B 、7 C 、12 D 、16 6、将十进制数2013转换成二进制数是()。 A 11111011100 B 、11111001101 C 、11111011101 D 、11111101101 7、现有30枚硬币(其中有一枚假币,重量较轻)和一架天平,请问最少需要称几次, 才能找出假币()。 当边长为2时,有4个小三角形。 问:当边长为6时,有 _________ 小三角形。 当边长为n时,有 ________ 小三角形。 2、A、B、C三人中一位是工人,一位是教师,一位是律师。已知: A和教师不同岁,B比教师年龄小。问:A、B、C分别是什么身分? 答: ___________ 是工人,_________ 是教师,___________ 三、阅读程序写结果(共4题,每小题8分,共计32分) 1、REM Test31 FOR I =1 TO 30 S=S+I\5 NEXT I PRINT S END 本题的运行结果是:(1 ) C比律师年龄大, 是律师。 A 3 B 、4 C 、5 D 、6 &下列计算机设备中,不是输出设备的是()。 A显示器B音箱C、打印机D扫描仪 9、在windows窗口操作时,能使窗口大小恢复原状的操作是(A单击“最小化”按钮 B 、单击“关闭”按钮 C双击窗口标题栏 D 、单击“最大化”按钮 10、世界上第一台电子计算机于1946年诞生于美国,它是出于() )的需要 2、REM Test32 FOR I =1 TO 4 PRINT TAB (13-3*I); N=0 FOR J =1 TO 2*I-1 N=N+1 PRINT N; NEXT J PRINT NEXT I A军事B 、工业C 、农业D 、教学END 本题的运行结果是:(2 )

信息学竞赛 排序与质数练习题

Summary Problems Problem #1 Count Description 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。 Input Format 输入文件count.in包含n+1行;第一行是整数n,表示自然数的个数;第2~n+1每行一个自然数。 Output Format 输出文件count.out包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。Sample Input 8 2

4 2 4 5 100 2 100 Sample Output 2 3 4 2 5 1 100 2 Data Range 40%的数据满足:1<=n<=1000 80%的数据满足:1<=n<=50000 100%的数据满足:1<=n<=200000,每个数均不超过1500 000 000(1.5*109)Problem #2 Decode Description 小s和小t为了打发无聊的数学课经常传小纸条。但是由于小纸条内容往往是一个secret,为了不让别人偷看到这个secret,小s用了一种编码方式。对于每个英文的大写字母都找到一个替换的字母。 这样原来的LOVE可能decode之后就变成HATE。这样传纸条的时候就不用担心secret被泄露了~ Input Format 第一行,一个字符串,长度不超过10000。只包含大写字母和空格。 第二行,一个长度为26的大写字符串,分别表示A~Z编码后变成什么大写字母。

信息学奥赛基础知识习题(标准答案版)

信息学奥赛基础知识习题(答案版) 一、选择题(下列各题仅有一个正确答案,请将你认为是正确的答案填在相应的横线上) 1. 我们把计算机硬件系统和软件系统总称为 C 。 (A)计算机CPU (B)固 件 (C)计算机系统 (D)微处理机 2.硬件系统是指 D 。 (A)控制器,器运算 (B)存储器,控制器 (C)接口电路,I/O设备(D)包括(A)、(B)、(C) 3.计算机软件系统包括 B 。 A) 操作系统、网络软件B)系统软件、应用软件 C)客户端应用软件、服务器端系统软件 D) 操作系统、应用软件和网络软件 4.计算机硬件能直接识别和执行的只有D。 (A)高级语言(B)符号语言 (C)汇编语言(D)机器语言 5.硬盘工作时应特别注意避免B。 (A)噪声 (B)震动 (C)潮 湿(D)日光 6.计算机中数据的表示形式是C。

(A)八进制(B)十进制 (C)二进 制 (D)十六进制 7.下列四个不同数制表示的数中,数值最大的是 A 。 (A)二进制数11011101 (B)八进制数334 (C)十进制数219(D)十六进制数DA 8.Windows9x操作系统是一个 A 。 (A)单用户多任务操作系统(B)单用户单任务操作系统 (C)多用户单任务操作系统 (D)多用户多任务操作系统 9.局域网中的计算机为了相互通信,必须安装___B__。 (A)调制解调器(B)网卡(C)声卡(D)电视卡 10.域名后缀为edu的主页一般属于__A____。 (A)教育机构(B)军事部门(C)政府部门(D)商业组织 11.香港在世界上注册的顶级域名是__A____。 (A)hk(B)cn(C)tw(D)com 12.计算机能够自动、准确、快速地按照人们的意图进行运行的最基本思想是( D )。 (A)采用超大规模集成电路 (B)采用CPU作为中央核心部件 (C)采用操作系统(D)存储程序和程序控制 13.设桌面上已经有某应用程序的图标,要运行该程序,可以 C 。

(PASCAL)信息学竞赛初级篇题库

(PASCAL)信息学竞赛初级篇题库 1. 输入10个正整数,计算它们的和,平方和; 2. 输入20个整数,统计其中正、负和零的个数; 3. 在1——500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数; 4. 输出1——999中能被3整除,且至少有一位数字是5的数; 5. 输入20个数,求出它们的最大值、最小值和平均值。 6. 甲、乙、丙三人共有384本书,先由甲分给乙、丙,所给书数分别等于乙、丙已有的书数,再由乙分给甲、丙,最后由丙分给甲、乙,分法同前,结果三人图书数相等。编程求甲、乙、丙三人原各有书多少本? 7. 某养金鱼爱好者,决定出售他的金鱼。第一次卖出了全部金鱼的一半加2分之一条金鱼;第二次卖出剩金鱼的三分之一加三分之一条金鱼;第三次卖出剩金鱼的四分之一加四分之一条金鱼;第四次卖出剩金鱼的五分之一加五分之一条金鱼,最后还剩11条。问原来有多少条金鱼?(每次卖的金鱼都是整数条) 8. 猴子吃桃子问题:猴子第一天摘下若干个桃子,当即吃了一半还不过瘾,又多吃了一个;第二天又将剩下的桃子吃掉一半又多吃了一个;以后每天早上都吃了前一天剩下的一半零一个。到了第十天想再吃时,见只剩下一个桃子,求第一天共摘了多少个桃子? 9. 从键盘输入整数l,统计出边长为整数的周长为l的不等边三角形的个数。 10. 输入三个整数,以这三个数为边长,判断是否构成三角形;若构成三角形,进一步判断它们构的是:锐角三角形或直角三角形或钝角三角形。 11. 1*2*3*...*1000结果是一个很大的数,求这个数末尾有多少个连续的零。 12. 任意输入两个整数,求这两个整数的最大公约数,并求这两个整数的最小公倍数。 13. 一个整数的立方可以表示为两个整数的平方差,如19853=19711052-19691202。 编程:输入一个整数N,自动将其写成N3=X2-Y2。 14. 求100以内的所有素数。纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。这样下去一直到最后剩下的个位数也还是素数。求出所有小于3000的四位的纯粹素数。 15. 验证回文数的猜测:左右对称的自然数称回文数。如121,4224,13731等,有人猜测:从任意一个两位或两位以上的自然数开始,将该数与它的逆序数(如1992的逆序数是2991)相加,得到一个新数,再用这个新数与它的逆序数相加,不断重复上述操作,经过若干步的逆序相加之后,总可以得到一个回文数,例如:从1992开始,1992+2991=4983;4983+3894=8877;8877+7788=16665;16665+56661=73326;73326+62337=135663;135663+366531=502194;502194+491205=993399。经过七步就得到了回文数。 设计一个程序,由计算机在局部范围内验证回文数的猜测,并将寻找回文数的每一个步骤都显示出来。16. 已知一个正整数的个位数为7,将7移到该数的首位,其它数字顺序不变,则得到的新数恰好是原数的7倍,编程找出满足上述要求的最小自然数。 17. 任意一个大于9的整数减去它的各位数字之和的差,一定能被9整除。 18. 有一个六位数,其个位数字7,现将个位数字移至首位(十万位),而其余各位数字顺序不变,均后退一们,得到一个新的六位数,假如旧数为新数的4倍,求原来的六位数。 19. 任意给定平面上三个点A(X1,Y1),B(X2,Y2),C(X3,Y3),试判断这三个点能否构成三角形。能则求出它的面积。 20. 将1至9这几个数字排成3x3方阵,并使每一横行的三个数字组成一个三位数。如果要使第三行的三位数是第一行的两倍,第三行的三位数是第一的三倍,应怎样排法?编程找出所有排法。 21. 一个合数(质数的反数),去掉最低位,剩下的数仍是合数,再去掉剩下的数的最低位,余留下来的数还是合数,这样反复,一直到最后公剩下的一位数仍是合数;我们把这样的数称为纯粹合数。求所有的三位纯粹合数。 22. 输入一个大于1的整数,打印出它的素数分解式。如输入75,则打印:"75=3*5*5"。 23. 某自然数n的所有素数的平方和等于n,(1<100),请找出二个这样的自然数n。

信息学奥赛试题及答案.

信息学奥赛试题 一、填空题(共20题,每题1.5分,共计30分。每题有5个备选答案,前10个题为单选题(即每题有且只有一个正确答案,选对得分),后10题为不定项选择题(即每题有1至5个正确答案,只有全部选对才得分)。 1.微型计算机的性能主要取决于()。 A)内存 B)主板 C)中央处理器 D)硬盘 E)显示器 2.能将高级语言程序转换为目标程序的是( ). A)调试程序 B)解释程序C)编辑程序 D)编译程序E)连接程序 3.A=11001010B,B=00001111B,C=01011100B,则A∨B∧C=( ) A)01011110 B) 00001111 C)01011100 D) 11001110 E) 11001010 4.计算机设备,既是输入设备,又是输出设备的是( )。 A)键盘 B)触摸屏 C)扫描仪 D)投影仪 E)数字化仪 5.计算机病毒传染的必要条件是( ) 。 A) 在内存中运行病毒程序 B) 对磁盘进行读写操作 C) 在内存中运行含有病毒的可执行程序 D) 复制文件 E)删除文件 6.已知队列(13,2,11,34,4l,77,5,7,18,26,15),第一个进入队列的元素是13,则第五个出队列的元素是( )。 A)5 B)41 C)77 D)13 E)18 7.在使用E-mail前,需要对Outlook进行设置,其中ISP发送电子邮件的服务器称为( )服务器。 A)POP3 B)SMTP C)DNS D)FTP E)HTTP 8.对给定的整数序列(54,73,21,35,67,78,63,24,89)进行从小到大的排序时,采用快速排序的第一趟扫描的结果是( ). A)(24,21,35,54,67, 78,63,73,89) B)(24,35,21,54,67, 78,63,73,89) C)(24,21,35,54,67, 63,73,78,89) D)(21,24,35,54,63, 67,73,78,89) E)(24,21,35,54,67, 63,73,78,89) 9. 编号为1到13的纸牌顺时针排成一圈,有人从编号为1的牌从数字1开始顺时针数下去,1,2,3,……,一圈又一圈,问当数到数字n ,所在的纸牌编号为多少? A) n mod 13 B)1+(n-1) mod 13 C)(n+1) mod 13-1 D)(n+1) mod 13 E) (n-1) mod 13 10.对下图进行广度优先拓朴排序得到的顶点序列正确的是( ). A) 1,2,3,4,5,6 B) 1,3,2,4,5,6 C) 1,3,2,4,6,5D) 1,2,3,4,6,5, E) 1,3,2,4,5,6 11.下列属于冯.诺依曼计算机模型的核心思想是( ). A) 采用二进制表示数据和指令; B) 采用”存储程序”工作方式 C) 计算机硬件有五大部件(运算器、控制器、存储器、输入和输出设备) D) 结构化程序设计方法 E) 计算机软件只有系统软件 12.CPU访问内存的速度比访问下列哪个(些)存储设备要慢( )。 A)寄存器 B)硬盘 C)软盘 D)高速缓存 E)光盘 13.下列电子邮件地址,哪个(些)是正确的( )。 A)wang@https://www.wendangku.net/doc/f03807233.html, B)cai@https://www.wendangku.net/doc/f03807233.html,.jp C)162.105.111. 22 D)https://www.wendangku.net/doc/f03807233.html, E) https://www.wendangku.net/doc/f03807233.html, 14.数字图像文件可以用下列哪个(些)软件来编辑( )。 A)画笔(Paintbrush) B)记事簿(Notepad) C)Photoshop D)WmRAR E)MidiSoft 15.下列哪个(些)软件不是操作系统软件的名字( )。 A)Windows XP B)DOS C)Linux D)OS/2 E)Arch/Info 16.下面关于算法的正确的说法是( ) A)算法必须有输出 B)算法必须在计算机上用某种语言实现 C)算法不一定有输入 D)算法必须在有限步执行后能结束 E)算法的每一步骤必须有确切的定义 17.下列逻辑运算正确的是()。 A) A·(A + B )= A B) A +(A·B)= A C) A·(B + C )= A·B + A·C D)A +(B·C)=(A + B)·(A + C) E) A+1=A 18.下列关于排序说法正确的是( ).

相关文档
相关文档 最新文档