2022年noip普及组初赛及答案教学文稿.pdf
此文档来源于网络,如有侵权请联系网站删除只供学习交流用第十八届全国青少年信息学奥林匹克联赛初赛(普及组 C+语言试题)竞赛时间: 2012 年 10 月 13 日 14:3016:30 选手注意:试题纸共有10 页,答题纸共有2 页,满分 100 分。请在答题纸上作答,写在试题纸上一律无效。不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20 题,每题 1.5 分,共计 30 分;每题且仅有一个正确选项)1计算机如果缺少() ,将无法正常启动。A内存B鼠标C U 盘D 摄像头2 ()是一种先进先出的线性表。A栈B队列C哈希表(散列表)D二叉树3目前计算机芯片(集成电路)制造的主要原料是() ,它是一种可以在沙子中提炼出的物质。A硅B铜C锗D铝4十六进制数9A 在()进制下是232。A四B八C十D十二5 ()不属于操作系统。AWindows BDOS CPhotoshop DNOI Linux 6如果一棵二叉树的中序遍历是BAC ,那么它的先序遍历不可能是() 。AABC BCBA CACB DBAC 7 目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD 等公司。A显示器BCPU C内存D鼠标8 使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1 个逆序对,因此序列5,4,3,2,1 需要执行()次操作,才能完成冒泡排序。A0 B5 C10 D15 9 1946 年诞生于美国宾夕法尼亚大学的ENIAC 属于()计算机。A电子管B晶体管C集成电路D超大规模集成电路10 无论是 TCP/IP 模型还是 OSI 模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。如果用现实生活中的例子来比喻这些“层”,以下最恰当的是() 。A 中国公司的经理与波兰公司的经理交互商业文件精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 9 页 - - - - - - - - - - 此文档来源于网络,如有侵权请联系网站删除只供学习交流用B 军队发布命令C 国际会议中,每个人都与他国地位对等的人直接进行会谈D 体育比赛中,每一级比赛的优胜者晋级上一级比赛11矢量图( Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它() 。A记录了大量像素块的色彩值来表示图像B用点、直线或者多边形等基于数学方程的几何图元来表示图像C每个像素点的颜色信息均用矢量表示D把文件保存在互联网,采用在线浏览的方式查看图像12 如果一个栈初始时为空,且当前栈中的元素从栈顶到栈底依次为a,b,c,另有元素d 已经出栈,则可能的入栈顺序是() 。Aa, d, c, b Bb, a, c, d Ca, c, b, d Dd, a, b, c 13 ()是主要用于显示网页服务器或者文件系统的HTML 文件的内容,并让用户与这些文件交互的一种软件。A资源管理器B浏览器C电子邮件D编译器精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 9 页 - - - - - - - - - - 此文档来源于网络,如有侵权请联系网站删除只供学习交流用14 ()是目前互联网上常用的E-mail 服务协议。AHTTP BFTP CPOP3 DTelnet 15 ()就是把一个复杂的问题分成两个或更多的相同类似的子问题,再把子问题分解成更小的子问题 直到最后的子问题可以简单地直接求解。而原问题的解就是子问题解的并。A动态规划B贪心C分治D搜索16地址总线的位数决定了CPU 可直接寻址的内存空间大小,例如地址总线为16 位,其最大的可寻址空间为 64KB 。如果地址总线是32 位,则理论上最大可寻址的内存空间为() 。A128KB B1MB C1GB D4GB 17蓝牙和Wi-Fi 都是()设备。A无线广域网B无线城域网C无线局域网D无线路由器18 在程序运行过程中,如果递归调用的层数过多,会因为()引发错误。A系统分配的栈空间溢出B系统分配的堆空间溢出C系统分配的队列空间溢出D系统分配的链表空间溢出19 原字符串中任意一段连续的字符所组成的新字符串称为子串。则字符“AAABBBCCC”共有()个不同的非空子串。A3 B12 C36 D45 20 仿生学的问世开辟了独特的科学技术发展道路。人们研究生物体的结构、功能和工作原理,并将这些原理移植于新兴的工程技术中。以下关于仿生学的叙述,错误的是()A由研究蝙蝠,发明雷达B由研究蜘蛛网,发明因特网C由研究海豚,发明声纳D由研究电鱼,发明伏特电池二、问题求解(共2 题,每题 5 分,共计10 分)1 如果平面上任取n 个整点(横纵坐标都是整数),其中一定存在两个点,它们连线的中点也是整点,那么 n 至少是 _。2 在 NOI 期间,主办单位为了欢迎来自各国的选手,举行了盛大的晚宴。在第十八桌,有5 名大陆选手和 5 名港澳选手共同进膳。为了增进交流, 他们决定相隔就坐,即每个大陆选手左右旁都是港澳选手,每个港澳选手左右旁都是大陆选手。那么,这一桌一共有_种不同的就坐方案。注:如果在两个方案中,每个选手左右相邻的选手相同,则视为同一种方案。三、阅读程序写结果。(共4 题,每题8 分,共计32 分)1#include using namespace std; int a,b,c,d,e,ans; int main() cinabc; d=a+b; e=b+c; ans=d+e; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 9 页 - - - - - - - - - - 此文档来源于网络,如有侵权请联系网站删除只供学习交流用coutansendl; return 0; 输入: 1 2 5 输出: _ 2#include using namespace std; int n,i,ans; int main() cinn; ans=0; for(i=1;i=n;i+) if(n%i=0) ans+; coutansendl; return 0; 输入: 18 输出: _ 3#include using namespace std; int n,i,j,a100100; int solve(int x,int y) int u,v; if(x=n) return axy; u=solve(x+1,y); v=solve(x+1,y+1); if(uv) return axy+u; else return axy+v; int main() cinn; for(i=1;i=n;i+) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 9 页 - - - - - - - - - - 此文档来源于网络,如有侵权请联系网站删除只供学习交流用for(j=1;jaij; coutsolve(1,1)endl; return 0; 输入:5 2 -1 4 2 -1 -2 -1 6 4 0 3 2 -1 5 8 输出: _ 4#include #include using namespace std; int n,i,j,ans; string s; char get(int i) if(is; n=s.size(); ans=0; for(i=1;i=n-1;i+) for(j=0;j=n-1;j+) if(get(i+j)get(ans+j) break; for(j=0;j=n-1;j+) coutget(ans+j); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 9 页 - - - - - - - - - - 此文档来源于网络,如有侵权请联系网站删除只供学习交流用coutendl; return 0; 输入: CBBADADA 输出: _ 四、完善程序(前2 空每空 2 分,后 8 空每空 3 分,共计 28 分)1(坐标统计)输入n 个整点在平面上的坐标。对于每个点,可以控制所有位于它左下方的点(即x、y 坐标都比它小),它可以控制的点的数目称为“战斗力”。依次输出每个点的战斗力,最后输出战斗力最高的点的编号(如果若干个点的战斗力并列最高,输出其中最大的编号)。#include using namespace std; const int SIZE =100; int xSIZE,ySIZE,fSIZE; int n,i,j,max_f,ans; int main() cinn; for(i=1;ixiyi; max_f=0; for(i=1;i=n;i+) fi= ; for(j=1;j=n;j+) if(xjxi & ) ; if( ) max_f=fi; ; for(i=1;i=n;i+) coutfiendl; coutansendl; return 0; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 9 页 - - - - - - - - - - 此文档来源于网络,如有侵权请联系网站删除只供学习交流用2 (排列数)输入两个正整数n,m (1n20,1mn),在 1n 中任取 m个数,按字典序从小到大输出所有这样的排列。例如:输入: 3 2 输出: 1 2 1 3 2 1 2 3 3 1 3 2 #include #include using namespace std; const int SIZE =25; bool usedSIZE; int dataSIZE; int n,m,i,j,k; bool flag; int main() cinnm; memset(used,false,sizeof(used); for(i=1;i=m;i+) datai=i; usedi=true; flag=true; while(flag) for(i=1;i=m-1;i+) coutdatai ; coutdatam=1;i-) ; for(j=datai+1;j=n;j+) if(!usedj) usedj=true; datai= ; flag=true; break; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 9 页 - - - - - - - - - - 此文档来源于网络,如有侵权请联系网站删除只供学习交流用if(flag) for(k=i+1;k=m;k+) for(j=1;j= ;j+) if(!usedj) datak=j; usedj=true; break; ; return 0; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 9 页 - - - - - - - - - - 此文档来源于网络,如有侵权请联系网站删除只供学习交流用参考答案一、单项选择题(共20 题,每题 15 分,共计 30 分;每题且仅有一个正确选项)1 2 3 4 5 6 7 8 9 10 A B A B C C B C A A 11 12 13 14 15 16 17 18 19 20 B D B C C D C A C B 二、问题求解(共2 题,每题 5 分,共计10 分)1 5 2 2880 三、阅读程序写结果。(共4 题,每题8 分,共计 32 分)10 6 14 ACBBADAD 四、完善程序(前2 空每空 2 分,后 8 空每空 3 分,共计28 分)1、 0 yj1 )& (fifi-1) ans=max_f 2、 false useddatai=flase j n break 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 9 页 - - - - - - - - - -