收藏 分享(赏)

2013信息学奥林匹克联赛普及组初赛试题.doc

上传人:weiwoduzun 文档编号:2728003 上传时间:2018-09-26 格式:DOC 页数:9 大小:126KB
下载 相关 举报
2013信息学奥林匹克联赛普及组初赛试题.doc_第1页
第1页 / 共9页
2013信息学奥林匹克联赛普及组初赛试题.doc_第2页
第2页 / 共9页
2013信息学奥林匹克联赛普及组初赛试题.doc_第3页
第3页 / 共9页
2013信息学奥林匹克联赛普及组初赛试题.doc_第4页
第4页 / 共9页
2013信息学奥林匹克联赛普及组初赛试题.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、模拟试题(一)一、 单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项)1. 一个 32 位整型变量占用( )个字节。A. 4 B. 8 C. 32 D. 1282. 二进制数 11.01 在十进制下是( ) 。A. 3.25 B. 4.125 C. 6.25 D. 11.1253. 下面的故事与( )算法有着异曲同工之妙。从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事 ”A. 枚举 B. 递归 C. 贪心 D. 分治4. 逻辑表达式( )的

2、值与变量 A 的真假无关。A. (A B) A B. (A B) B C. (A B) (A B)D. (A B) A B5. 将(2, 6, 10, 17)分别存储到某个地址区间为 010 的哈希表中,如果哈希函数 h(x) =( ) ,将不会产生冲突,其中 a mod b 表示 a 除以 b 的余数。A. x mod 11 B. x2 mod 11 C. 2x mod 11 D. mod 11,其中 表示 下取整XX6. 在十六进制表示法中,字母 A 相当于十进制中的( ) 。A. 9 B. 10 C. 15 D. 16 7. 下图中所使用的数据结构是( ) 。8. 在 Windows 资

3、源管理器中,用鼠标右键单击一个文件时,会出现一个名为“复制”的操作选项,它的意思是( ) 。A. 用剪切板中的文件替换该文件 B. 在该文件所在文件夹中,将该文件克隆一份C. 将该文件复制到剪切板,并保留原文件D. 将该文件复制到剪切板,并删除原文件9. 已知一棵二叉树有 10 个节点,则其中至多有( )个节点有 2 个子节点。A. 4 B. 5 C. 6 D. 710、在一个无向图中,如果任意两点之间都存在路径相连,则称其为连通图。下图是一个有4 个顶点、6 条边的连通图。若要使它不再是连通图,至少要 删去其中的( )条边。A. 1 B. 2 C. 3 D. 411. 二叉树的( )第一个访

4、问的节点是根节点。A. 先序遍历 B. 中序遍历 C. 后序遍历 D. 以上都是12. 以 A0 作为起点,对下面的无向图进行深度优先遍历时,遍历顺序不可能是( ) 。A. A0, A1, A2, A3 B. A0, A1, A3, A2 C. A0, A2, A1, A3 D. A0, A3, A1, A213. IPv4 协议使用 32 位地址,随着其不断被分配,地址资源日趋枯竭。因此,它正逐渐被使用( )位地址的 IPv6 协议所取代。A. 40 B. 48 C. 64 D. 12814. ( )的平均时间复杂度为 O(n log n),其中 n 是待排序的元素个数。A. 快速排序 B.

5、 插入排序 C. 冒泡排序 D. 基数排序15. 下面是根据欧几里得算法编写的函数,它所计算的是 a 和 b 的( ) 。function euclid(a, b : longint) : longint;beginif b = 0 then euclid := a else euclid := euclid(b, a mod b);end;A. 最大公共质因子 B. 最小公共质因子 C. 最大公约数 D. 最小公倍数16. 通常在搜索引擎中,对某个关键词加上双引号表示( ) 。A.排除关键词,不显示任何包含该关键词的结果C.精确搜索,只显示包含整个关键词的结果B.将关键词分解,在搜索结果中必

6、须包含其中的一部分D.站内搜索,只显示关键词所指向网站的内容17. 中国的国家顶级域名是( ) 。A. .cn B. .ch C. .chn D. .china18. 把 64 位非零浮点数强制转换成 32 位浮点数后,不可能( ) 。A. 大于原数 B. 小于原数 C. 等于原数 D. 与原数符号相反19. 下列程序中,正确计算 1, 2, , 100 这 100 个自然数之和 sum (初始值为 0) 的是( ) 。A. i := 1;repeatsum := sum + i; inc(i);until i 100;B. i := 1;repeatsum := sum + i; inc(i

7、);until i = 100 dobegin20. CCF NOIP 复赛全国统一评测时使用的系统软件是( ) 。A. NOI Windows B. NOI Linux C. NOI Mac OS D. NOI DOS二、问题求解(共 2 题,每题 5 分,共计 10 分;每题全部答对得 5 分,没有部分分)1. 7 个同学围坐一圈,要选 2 个不相邻的作为代表,有_种不同的选法。2. 某系统自称使用了一种防窃听的方式验证用户密码。密码是 n 个数 s1, s2, , sn,均为 0 或 1。 该系统每次随机生成 n 个数 a1, a2, , an, 均为 0 或 1, 请用户回答(s1a1

8、 + s2a2 + + snan)除以 2 的余数。如果多次的回答总是正确,即认为掌握密码。该系统认为,即使问答的过程被泄露,也无助于破解密码因为用户并没有直接发送密码。然而,事与愿违。例如,当 n = 4 时,有人窃听了以下 5 次问答:就破解出了密码 s1 = _, s2 = _, s3 = _, s4 = _。二、 阅读程序写结果(共 4 题,每题 8 分,共计 32 分)sum := sum + i; inc(i);end;sum := sum + i; inc(i);end;1. Var a,b: integer;begin readln(a, b); writeln(a, +, b

9、, =, a+b);end.输入:3 5 输出:_2. Var a, b, u, i, num : integer;beginreadln(a, b, u);num := 0;for i:= a to b do beginif (i mod u = 0) then inc(num);end;writeln(num);end.输入:1 100 15输出:_3. const SIZE = 100;Var n, f, i, left, right, middle : integer;a:array1SIZE of integer;beginreadln(n, f);for i := 1 to n d

10、o read(ai);left := 1;right := n;repeatmiddle := (left+right) div 2;if (f = right);writeln(left);end.输入:12 172 4 6 9 11 15 17 18 19 20 21 25输出:_4. const SIZE = 100;Var n, ans, i, j : integer;height, num : array1SIZE of integer;beginread(n);for i := 1 to n do beginread(heighti);numi := 1;for j := 1 to

11、 i-1 dobeginif (heightj = numi) then numi := numj+1;end;end;ans := 0;for i := 1 to n dobeginif (numi ans) then ans := numi;end; writeln(ans);end.输入:62 5 3 11 12 4输出:_四、完善程序(共 2 题,每题 14 分,共计 28 分)1. (序列重排)全局数组变量 a 定义如下:const SIZE = 100;int aSIZE, n;它记录着一个长度为 n 的序列 a1, a2, , an。现在需要一个函数,以整数 p (1 p n)为

12、参数,实现如下功能:将序列 a 的前 p 个数与后 n p 个数对调,且不改变这 p 个数(或 n p 个数)之间的相对位置。例如,长度为 5 的序列 1, 2, 3, 4, 5,当 p = 2 时重排结果为 3, 4, 5, 1, 2。有一种朴素的算法可以实现这一需求, 其时间复杂度为 O(n)、空间复杂度为 O(n):procedure swap1(p : longint);Var i : longint;b : array1SIZE of longint;beginfor i := 1 to p do b (1) := ai; /(3 分)for i := p + 1 to n do b

13、i - p := (2) ; /(3 分)for i := 1 to (3) do ai := bi; /(2 分)end;我们也可以用时间换空间,使用时间复杂度为 O(n 2)、空间复杂度为 O(1)的算法:procedure swap2(p : longint);Var i, j, temp : longint;beginfor i := p + 1 to n dobegintemp := ai;for j := i downto (4) do aj := aj - 1; /(3 分)(5) := temp; /(3 分)end;end;2. (二叉查找树) 二叉查找树具有如下性质:每个节

14、点的值都大于其左子树上所有节点的值、小于其右子树上所有节点的值。试判断一棵树是否为二叉查找树。输入的第一行包含一个整数 n,表示这棵树有 n 个顶点,编号分别为 1, 2, , n,其中编号为 1 的为根结点。之后的第 i 行有三个数 value, left_child, right_child,分别表示该节点关键字的值、 左子节点的编号、右子节点的编号;如果不存在左子节点或右子节点,则用 0 代替。输出 1 表示这棵树是二叉查找树,输出 0 则表示不是。program Bst;const SIZE = 100;const INFINITE = 1000000;type node = reco

15、rdleft_child, right_child, value : longint;end;Var a : array1SIZE of node;i, n : longint;function is_bst(root, lower_bound, upper_bound : longint) : longint;Var cur : longint;beginif root = 0 thenbeginis_bst := 1;exit;end;cur := aroot.value;if (cur lower_bound) and ( (1) ) and /(3 分)(is_bst(aroot.left_child, lower_bound, cur) = 1) and(is_bst( (2) , (3) , (4) ) = 1) then is_bst := 1/(3 分,3 分,3 分)Else is_bst := 0;end;beginreadln(n);for i := 1 to n doread(ai.value, ai.left_child, ai.right_child);writeln(is_bst( (5) , -INFINITE, INFINITE); /(2 分)end.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 试题课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报