NOIP2013初赛普与组C++题目与答案

上传人:xmg****18 文档编号:119828828 上传时间:2020-01-27 格式:DOC 页数:12 大小:134.50KB
返回 下载 相关 举报
NOIP2013初赛普与组C++题目与答案_第1页
第1页 / 共12页
NOIP2013初赛普与组C++题目与答案_第2页
第2页 / 共12页
NOIP2013初赛普与组C++题目与答案_第3页
第3页 / 共12页
NOIP2013初赛普与组C++题目与答案_第4页
第4页 / 共12页
NOIP2013初赛普与组C++题目与答案_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《NOIP2013初赛普与组C++题目与答案》由会员分享,可在线阅读,更多相关《NOIP2013初赛普与组C++题目与答案(12页珍藏版)》请在金锄头文库上搜索。

1、. . . .第十九届全国青少年信息学奥林匹克联赛初赛普及组C+语言试题竞赛时间: 2013 年 10 月 13 日 14:3016:30选手注意:试题纸共有9 页,答题纸共有2 页,满分 100 分。请在答题纸上作答,写在试题纸上的一律无效。不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。一、单项选择题(共20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项)1.一个 32位整型变量占用()个字节。A.4B. 8C. 32D. 1282.二进制数 11.01在十进制下是()。A.3.25B. 4.125C. 6.25D. 11.1253.下面的故事与()

2、算法有着异曲同工之妙。从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事.A.枚举B.递归C.贪心D.分治4.逻辑表达式()的值与变量A 的真假无关。A.(A B) AB.(A B) BC.(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 11C.2x mod 11D.|2

3、| mod 11 ,其中X表示X下取整6.在十六进制表示法中,字母A 相当于十进制中的()。A.9B.10C.15D.167.下图中所使用的数据结构是()。A.哈希表B.栈C.队列D.二叉树8.在 Windows 资源管理器中,用鼠标右键单击一个文件时,会出现一个名为“复制”的操作选项,它的意思是()。A.用剪切板中的文件替换该文件B.在该文件所在文件夹中,将该文件克隆一份C.将该文件复制到剪切板,并保留原文件D.将该文件复制到剪切板,并删除原文件9.已知一棵二叉树有10 个节点,则其中至多有()个节点有2 个子节点。A.4B.5C.6D.710.在一个无向图中,如果任意两点之间都存在路径相连

4、,则称其为连通图。下图是一个有4 个顶点、 6 条边的连通图。若要使它不再是连通图,至少要删去其中的()条边。A.1B.2C.3D.411.二叉树的()第一个访问的节点是根节点。A.先序遍历B. 中序遍历C.后序遍历D. 以上都是12.以 A0 作为起点,对下面的无向图进行深度优先遍历时,遍历顺序不可能是()。A.A0, A1 , A2, A3B.A0, A1, A3, A2C.A0, A2, A1, A3D.A0, A3, A1, A213.IPv4 协议使用32 位地址,随着其不断被分配,地址资源日趋枯竭。因此,它正逐渐被使用()位地址的 IPv6 协议所取代。A. 40B. 48C. 6

5、4D. 12814. ()的 平均时间复杂度为 O(n log n),其中 n 是待排序的元素个数。A.快速排序B. 插入排序C. 冒泡排序D.基数排序15.下面是根据欧几里得算法编写的函数,它所计算的是a 和 b 的()。int euclid(int a, int b)if (b = 0)return a;elsereturn euclid(b, a % b);A.最大公共质因子B.最小公共质因子C.最大公约数D.最小公倍数16.通常在搜索引擎中,对某个关键词加上双引号表示()。A.排除关键词,不显示任何包含该关键词的结果B.将关键词分解,在搜索结果中必须包含其中的一部分C.精确搜索,只显示

6、包含整个关键词的结果D.站内搜索,只显示关键词所指向网站的内容17.中国的国家顶级域名是()。A.cnB.chC.chnD.china18.把 64 位非零浮点数强制转换成32 位浮点数后,不可能 ()。A.大于原数B.小于原数C.等于原数D.与原数符号相反19.下列程序中,正确计算1, 2, , 100 这 100 个自然数之和sum(初始值为0)的是()。20.CCF NOIP 复赛全国统一评测时使用的系统软件是()。A.NOI WindowsB.NOI LinuxC.NOI Mac OSD.NOI DOS二、问题求解(共2 题,每题 5 分,共计 10 分;每题全部答对得5 分,没有部分

7、分)1.7 个同学围坐一圈,要选2 个不相邻的作为代表,有_种不同的选法。2. 某系统自称使用了一种防窃听的方式验证用户密码。密码是n 个数 s1, s2, , sn,均为 0或 1。该系统每次随机生成 n 个数 a1, a2, , an,均为 0或1,请用户回答 (s1a1 + s2a2 + + snan) 除以 2 的余数。如果多次的回答总是正确,即认为掌握密码。该系统认为,即使问答的过程被泄露,也无助于破解密码因为用户并没有直接发送密码。然而,事与愿违。例如,当n = 4 时,有人窃听了以下5 次问答:就破解出了密码s1 = _,s2 = _,s3 = _ ,s4 = _ 。三、阅读程序

8、写结果(共4 题,每题 8 分,共计 32 分)1. #include using namespace std;int main()int a, b; cinab;couta+b=a+bendl;输入: 3 5输出: _2. #include using namespace std;int main()int a, b, u, i, num;cinabu; num = 0;for (i = a; i = b; i+) if (i % u) = 0)num+;coutnumendl; return 0;输入: 1 100 15输出: _3. #include using namespace st

9、d;int main()const int SIZE = 100;int n, f, i, left, right, middle, aSIZE;cinnf;for (i = 1; i ai; left = 1;right = n; do middle = (left + right) / 2; if (f = amiddle)right = middle;elseleft = middle + 1; while (left right); coutleftendl;return 0;输入:12 172 4 6 9 11 15 17 18 19 20 21 25输出: _4.#include

10、using namespace std;int main()const int SIZE = 100;int heightSIZE, numSIZE, n, ans;cinn;for (int i = 0; i heighti; numi = 1;for (int j = 0; j i; j+) if (heightj = numi)numi = numj+1;ans = 0;for (int i = 0; i ans) ans = numi;coutansendl;输入:62 5 3 11 12 4输出: _四、完善程序(共2 题,每题 14 分,共计 28 分)1.(序列重排) 全局数组变

11、量 a 定义如下: const int SIZE = 100;int aSIZE, n;它记录着一个长度为n 的序列 a1, a2, , an。现在需要一个函数,以整数p (1 p n) 为参数,实现如下功能:将序列a 的前 p个数与后 n p 个数对调,且不改变这p 个数(或n p 个数)之间的相对位置。例如,长度为 5 的序列 1, 2, 3, 4, 5,当 p = 2 时重排结果为3, 4, 5, 1, 2 。有一种朴素的算法可以实现这一需求,其时间复杂度为O( n)、空间复杂度为O(n):void swap1(int p)int i, j, bSIZE;for (i = 1; i =

12、p; i+)b (1) = ai;/( 3 分)for (i = p + 1; i = n; i+)bi - p =(2);/( 3 分)for (i = 1; i =(3); i+)/( 2 分)ai = bi;我们也可以用时间换空间,使用时间复杂度为O(n2)、空间复杂度为O(1) 的算法:void swap2(int p)int i, j, temp;for (i = p + 1; i =(4); j-)/ ( 3 分)aj = aj - 1;(5)= temp;/ ( 3 分)2.(二叉查找树) 二叉查找树具有如下性质: 每个节点的值都大于其左子树上所有节点的 值、小于其右子树上所有节点的值。试判断一棵树是否为二叉查找树。输入的第一行包含一个整数 n,表示这棵树有 n 个顶点, 编号分别为 1, 2, , n,其 中编号为 1 的为根结点。之后的第 i 行有三个数 value, left_child , right_child ,分别表示该节点关键字的值、左子节点的编号、右子节点的编号;如果不存在左子节点或右子节点,则用 0 代替。输出1 表示这棵树是二叉查找树,输出0 则表示不是。#include using namespace std;const int SIZE = 100;con

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号