【21年试题】历年全国青少年信息学奥林匹克联赛初赛试题1995-2015.docx_第1页
【21年试题】历年全国青少年信息学奥林匹克联赛初赛试题1995-2015.docx_第2页
【21年试题】历年全国青少年信息学奥林匹克联赛初赛试题1995-2015.docx_第3页
【21年试题】历年全国青少年信息学奥林匹克联赛初赛试题1995-2015.docx_第4页
【21年试题】历年全国青少年信息学奥林匹克联赛初赛试题1995-2015.docx_第5页
已阅读5页,还剩131页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【21年试题】历年全国青少年信息学奥林匹克联赛初赛试题1995-20151995全国青少年信息学奥林匹克联赛初赛试题1996全国青少年信息学奥林匹克联赛初赛试题1997全国青少年信息学奥林匹克联赛初赛试题1998全国青少年信息学奥林匹克联赛初赛试题1999全国青少年信息学奥林匹克联赛初赛试题2000全国青少年信息学奥林匹克联赛初赛试题2001全国青少年信息学奥林匹克联赛初赛试题2002全国青少年信息学奥林匹克联赛初赛试题2003全国青少年信息学奥林匹克联赛初赛试题2004全国青少年信息学奥林匹克联赛初赛试题2005全国青少年信息学奥林匹克联赛初赛试题2006全国青少年信息学奥林匹克联赛初赛试题2007全国青少年信息学奥林匹克联赛初赛试题2008全国青少年信息学奥林匹克联赛初赛试题2009全国青少年信息学奥林匹克联赛初赛试题2010全国青少年信息学奥林匹克联赛初赛试题2011全国青少年信息学奥林匹克联赛初赛试题2012全国青少年信息学奥林匹克联赛初赛试题2013全国青少年信息学奥林匹克联赛初赛试题2014全国青少年信息学奥林匹克联赛初赛试题2015全国青少年信息学奥林匹克联赛初赛试题2013年第十九届全国青少年信息学奥林匹克联赛初赛普及组 pascal 语言试题一、单项选择题(共 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. 逻辑表达式( )的值与变量 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,其中表示下取整6. 在十六进制表示法中,字母 a 相当于十进制中的( )。a. 9 b. 10 c. 15 d. 167. 下图中所使用的数据结构是( )。8. 在 windows 资源管理器中,用鼠标右键单击一个文件时,会出现一个名为“复制”的操作选项,它的意思是( ) 。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. 二叉树的( )第一个访问的节点是根节点。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. 插入排序 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. 将关键词分解,在搜索结果中必须包含其中的一部分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);until i = 100;c.i := 1;while i = 100 dobeginsum := sum + i; inc(i);end;20. 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 + s2a2 + + snan)除以 2 的余数。如果多次的回答总是正确,即认为掌握密码。该系统认为,即使问答的过程被泄露,也无助于破解密码因为用户并没有直接发送密码。然而,事与愿违。例如,当 n = 4 时,有人窃听了以下 5 次问答:就破解出了密码 s1 = _, s2 = _, s3 = _, s4 = _。三、阅读程序写结果(共 4 题,每题 8 分,共计 32 分)1. var a,b: integer;beginreadln(a, b);writeln(a, +, b, =, a+b);end.输入:3 5 输出:_2. var a, b, u, i, num : integer;beginreadln(a, b, u);num := 0;for i:= a to b dobeginif (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:array1.size of integer;beginreadln(n, f);for i := 1 to n do 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 : array1.size of integer;beginread(n);for i := 1 to n dobeginread(heighti);numi := 1;for j := 1 to 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 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):procedure swap1(p : longint);var i : longint;b : array1.size of longint;beginfor i := 1 to p do b (1) := ai; /(3 分)for i := p + 1 to n do bi - p := (2) ; /(3 分)for i := 1 to (3) do ai := bi; /(2 分)end;我们也可以用时间换空间,使用时间复杂度为 o(n2)、空间复杂度为 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. (二叉查找树) 二叉查找树具有如下性质:每个节点的值都大于其左子树上所有节点的值、小于其右子树上所有节点的值。试判断一棵树是否为二叉查找树。输入的第一行包含一个整数 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 = recordleft_child, right_child, value : longint;end;var a : array1.size 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.第十九届(2013年)全国青少年信息学奥林匹克联赛初赛 答案普及组pascal语言试题aabcdbbcacaadaccadab二、1. 142. 0 1 1 1三、1. 3+5=82. 63. 74. 4四、1.(1) n-p+i(2) ai(3) n(4) i-p+1(5) ai-p2.(1) cur0。s:=a;for b:=1 to c dos:=s+1;则与上述程序段功能等价的斌值语句是( )。a. s:=a+b b. s:=a+c c. s:=s+c d. s:=b+c20. 计算机界的最高奖是( )。a.菲尔兹奖 b.诺贝尔奖 c.图灵奖 d.普利策奖二、问题求解(共2题,每题5分,共计10分;每题全部答对得5分,没有部分分)1.把m个同样的球放到n个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的放置方法?(用k表示)。例如:m=7,n=3时,k=8;在这里认为(5,1,1)和(1,5,1)是同一种放置方法。问:m=8,n=5时,k= 。2.如图所示,图中每条边上的数字表示该边的长度,则从a到e的最短距离是 。三、阅读程序写结果(共4题,每题8分,共计32分)1. vara, b, c, d, ans:integer;beginreadln(a,b,c);d:=a-b;a:=d+c;ans:=a*b;writeln(ans=,ans);end.输入:2 3 4输出:_2. varn: integerfunction fun(n:integer):integer;beginif n=1 thenexit(1);if n=2 thenexit(2);exit(fun(n-2)-fun(n-1);end;beginreadln(n);writeln(fun(n);end.输入:7输出:3.varst: string;len, i:integer;beginreadln(st);len:=length(st);for i:=1 to len doif (sti=a) and (sti=z) thensti:=chr(ord(sti)-ord(a)+ord(a);writeln(st);end.输入: hello,my name is lostmonkey.输出:4. constsize=100;varp:array 1.size of integer;n,tot,cn,i:integer;beginreadln(n);for i:=1 to n dopi:=1;tot:=0;for i:=2 to n dobeginif pi=1 thentot:= tot +1;cn:=i*2;while cn=n dobeginpcn:=0;cn:=cn+i;end;end;writeln(tot);end.输入:30;输出:四、完善程序(共2题,每题14分,共计28分)1. (数字删除)下面程序的功能是将字符串中的数字字符删除后输出。请填空。(每空3分,共12分)vars:string;len, i:integer;function delnum(var s:string):integer;vari, j: integer;beginj:=1;for i:=1 to length(s) doif (si9) thenbeginsj:=si;(2) ;end;exit( (3) );end;beginreadln(s);len:=delnum(s);for i:=1 to len dowrite( (14) );writeln;end.2. (最大子矩阵和)给出m行n列的整数矩阵,求最大的子矩阵和(子矩阵不能为空)。输入第一行包含两个整数m和n,即矩阵的行数和列数。之后m行,每行n个整数,描述整个矩阵。程序最终输出最大的子矩阵和。(最后一空4分,其余3分,共16分)constsize=100;varmatrix: array 1.size, 1.size of integer;rowsum: array 1.size, 0.size of integer;/rowsumi, j记录前i行前j个数的和m,n, i, j, first, last, area, ans:integer;beginread(m, n);for i := 1 to m dofor j:=1 to n doread(matrixi, j);ans:=matrix (1) ;for i:=1 to m do(2) ;for i:=1 to m dofor j:=1 to n dorowsumi, j:=_ (3) ;for first := 1 to n dofor last:=first to n dobegin(4) ;for i:=1 to m dobeginarea:=area+ (5) ;if (areaans) thenans:=area;if (areab thenbeginif ac then write(a, )else write(b, );end;writeln(c);end.输出:_2. typepoint=recordx:longint;y:longint;end;ex=recorda:longint;b:longint;c:point;end;vare:ex;begine.a:=1;e.b:=2;e.c.x:=e.a+e.b;e.c.y:=e.a*e.b;writeln(e.c.x,e.c.y);end.输出:3. varstr:string;i:=longint;count:longint;begincount:=0;readln(str);for i:=1 to length(str) dobeginif (stri=a )and(stri=z) then

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论