NOIP2016年第二十二届全国青少年信息学奥林匹克联赛提高组初赛(pascal).doc

上传人:sk****8 文档编号:4069771 上传时间:2019-09-23 格式:DOC 页数:12 大小:217.50KB
下载 相关 举报
NOIP2016年第二十二届全国青少年信息学奥林匹克联赛提高组初赛(pascal).doc_第1页
第1页 / 共12页
NOIP2016年第二十二届全国青少年信息学奥林匹克联赛提高组初赛(pascal).doc_第2页
第2页 / 共12页
NOIP2016年第二十二届全国青少年信息学奥林匹克联赛提高组初赛(pascal).doc_第3页
第3页 / 共12页
NOIP2016年第二十二届全国青少年信息学奥林匹克联赛提高组初赛(pascal).doc_第4页
第4页 / 共12页
NOIP2016年第二十二届全国青少年信息学奥林匹克联赛提高组初赛(pascal).doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、第二十二届全国青少年信息学奥林匹克联赛初赛提高组 Pascal 语言试题竞赛时间:2016 年 10 月 22 日 14:3016:30选手注意: 试题纸共有 13 页,答题纸共有 2 页,满分 100 分。请在答题纸上作答,写在试题纸上的一律无效。 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分;每题有且仅有一个正确选项)1. 以下不是微软公司出品的软件是( ) 。A. Powerpoint C. Excel B. Word D. Acrobat Reader2. 如果开始时计算机处于小写输入状态,现在

2、有一只小老鼠反复按照 CapsLock、字母键 A、字母键 S 和字母键 D 的顺序来回按键,即 CapsLock、A、S 、D、S、A 、 CapsLock、A、S、D、S 、A 、 CapsLock、A 、S、D、S、A、,屏幕上输出的第 81 个字符是字母( ) 。A. A B. S C. D D. a3. 二进制数 00101100 和 01010101 异或的结果是( ) 。A. 00101000 B. 01111001 C. 01000100 D. 001110004. 与二进制小数 0.1 相等的八进进制数是( ) 。A. 0.8 B. 0.4 C. 0.2 D. 0.15. 以

3、比较作为基本运算,在 N 个数中找最小数的最少运算次数为( ) 。A. N B. N-1 C. N2 D. log N6. 表达式 a*(b+c)-d 的后缀表达形式为( ) 。A. abcd*+- B. abc+*d- C. abc*+d- D. -+*abcd7. 一棵二叉树如右图所示,若采用二叉树链表存储该二叉树(各个结点包括结点的数据、左孩子指针、右孩子指针) 。如果没有左孩子或者右孩子,则对应的为空指针。那么该链表中空指针的数目为( ) 。A. 6 B. 7 C. 12 D. 148. G 是一个非连通简单无向图,共有 28 条边,则该图至少有( )个顶点。A. 10 B. 9 C.

4、 8 D. 79. 某计算机的 CPU 和内存之间的地址总线宽度是 32 位(bit ) ,这台计算机最多可以使用( )的内存。A. 2GB B. 4GB C. 8GB D. 16GB10. 有以下程序:vark, n: longint;begink := 4; n := 0;while n 0 thencontinue;dec(k);end;writeln(k, , n);end.程序运行后的输出结果是( ) 。A. 2,2 B. 2,3 C. 3,2 D. 3,311. 有 7 个一模一样的苹果,放到 3 个一样的盘子中,一共有( )种放法。A. 7 B. 8 C. 21 D. 3712.

5、 Lucia 和她的朋友以及朋友的朋友都在某社交网站上注册了账号。下图是他们之间的关系图,两个人之间有边相连代表这两个人是朋友,没有边相连代表不是朋友。这个社交网站的规则是:如果某人 A 向他(她)的朋友 B 分享了某张照片,那么 B 就可以对该照片进行评论;如果 B 评论了该照片,那么他(她)的所有朋友都可以看见这个评论以及被评论的照片,但是不能对该照片进行评论(除非 A 也向他(她)分享了该照片) 。现在 Lucia 已经上传了一张照片,但是她不想让 Jacob 看见这张照片,那么她可以向以下朋友()分享该照片。A. Dana, Michael, Eve B. Dana, Eve, Mon

6、icaC. Michael, Eve, Jacob D. Micheal, Peter, Monica13. 周末小明和爸爸妈妈三个人一起想动手做三道菜。小明负责洗菜、爸爸负责切菜、妈妈负责炒菜。假设做每道菜的顺序都是:先洗菜 10 分钟,然后切菜 10 分钟,最后炒菜 10 分钟。那么做一道菜需要 30 分钟。注意:两道不同的菜的相同步骤不可以同时进行。例如第一道菜和第二道的菜不能同时洗,也不能同时切。那么做完三道菜的最短时间需要( )分钟。A. 90 B. 60 C. 50 D. 4014. 假设某算法的计算时间表示为递推关系式 ()=2(4)+(1)=1则算法的时间复杂度为() 。A.

7、O() B. O( ) C. O( log ) D. O(2) 15. 给定含有 n 个不同的数的数组 L=。如果 L 中存在 xi(1 xi+1 . xn, 则称 L 是单峰的,并称 xi 是 L 的“峰顶” 。现在已知 L 是单峰的,请把 a-c 三行代码补全到算法中使得算法正确找到 L 的峰顶。a. Search(k+1, n)b. Search(1, k-1)c. return LkSearch(1, n)1. k n/22. if Lk Lk-1 and Lk Lk+13. then _4. else if Lk Lk-1 and Lk :) dobeginai, k := ci,

8、j;k := k + 1;inc(j);end;leni, 1 := k - 1;ai, k := chr(0);k := 1;for j := j + 1 to total_leni dobeginbi, k := ci, j;k := k + 1;end;leni, 2:=k-1;bi, k:=chr(0);k := 1;end;for i := 1 to n dobeginif (leni, 1 = leni, 2) thenwrite(NO,)elsebegink := 1;for j := 1 to leni, 2 dobeginif ai, k = bi, j thenk := k

9、 + 1;if k leni, 1 thenbreak;end;if j = leni, 2 thenwrite(NO,)elsewrite(YES,);end;end;writeln;end.输入:3AB:ACDEbFBkBDAR:ACDBrTSARS:Severe Atypical Respiratory Syndrome输出:_(注:输入各行前后均无空格)3. function lps(seq: string; i, j: longint): longint;varlen1, len2: longint;beginif i = j thenexit(1);if i j thenexit(

10、0);if (seqi = seqj) thenexit(lps(seq, i + 1, j - 1) + 2);len1 := lps(seq, i, j - 1);len2 := lps(seq, i + 1, j);if len1 len2 thenexit(len1)elseexit(len2);end;varn: longint;seq: string;beginseq := acmerandacm;n := length(seq);writeln(lps(seq, 1, n);end.输出:_4. varmap: array1.100, 1.100 of longint;sum,

11、weight, visit: array1.100 of longint;n, i, x, y, ans, ansn: longint;procedure dfs(node: longint);varv, maxw: longint;beginvisitnode := 1;sumnode := 1;maxw := 0;for v := 1 to n dobeginif (mapnodev = 0) or (visitv maxw thenmaxw := sumv;end;if n - sumnode maxw thenmaxw := n - sumnode;weightnode := maxw

12、;end;beginfillchar(map, sizeof(map), 0);fillchar(sum, sizeof(sum), 0);fillchar(weight, sizeof(weight), 0);fillchar(visit, sizeof(visit), 0);readln(n);for i := 1 to n - 1 dobeginread(x,y);mapx,y:=1;mapy,x:=1;end;dfs(1);ans := n; ansn := 0;for i := 1 to n doif weighti x do dec(j);if (1) thenbegintemp

13、:= ranki; ranki := rankj; rankj := temp;inc(i); dec(j);end;end;if i 0 thenshorter := heighti - heightpreviousi;if nexti 1)个城市因地震而导致交通中断时,首都到多少个城市的最短路径长度会发生改变。如果因为无法通过第 i 个城市而导致从首都出发无法到达某个城市,也认为到达该城市的最短路径长度改变。对于每一个城市 i,假定只有第 i 个城市与外界交通中断,输出有多少个城市会因此导致到首都的最短路径长度改变。我们采用邻接表的方式存储图的信息,其中 headx表示顶点 x 的第一条边

14、的编号,nexti表示第 i 条边的下一条边的编号,pointi表示第 i 条边的终点,weighti表示第 i 条边的长度。 (第一空 2 分,其余 3 分)constmaxn = 6000;maxm = 100000;inf = 2147483647;varnext, point, weight: array1.maxm of longint;head, dist, visit: array1.maxn of longint;queue: array0.maxn - 1 of longint;n, m, i, j, s, t, total, x, y, z, answer: longint

15、;procedure link(x, y, z: longint);begininc(total);nexttotal := headx;headx := total;pointtotal := y;weighttotal := z;inc(total);nexttotal := heady;heady := total;pointtotal := x;weighttotal := z;end;begintotal := 0;readln(n, m);for i := 1 to m dobeginreadln(x, y, z);link(x, y, z);end;for i := 1 to n do disti := inf;(1) ;queue1 := 1;visit1 := 1;s := 1; t := 1;/ 使用 SPFA 求出第一个点到其余各点的最短路长度while s 0 dobeginif (2) thenbegindistpointj := distx + weightj;if (visitpointj = 0) thenbegininc(t);queuet mod maxn := pointj;visitpointj := 1;end;end;j := nextj;

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

当前位置:首页 > 重点行业资料库 > 自然科学

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。