NOIP2017初赛提高组参考答案

合集下载

NOIP提高组初赛历年试题及标准答案阅读题篇

NOIP提高组初赛历年试题及标准答案阅读题篇

NOIP提高组初赛历年试题及答案阅读题篇————————————————————————————————作者:————————————————————————————————日期:NOIP提高组初赛历年试题及答案阅读题篇阅读程序写结果(共4 题,每题8 分,共计32 分)阅读程序的最好方法并非是依次从头到尾。

程序不像迷语,我们无法从末尾几页找到答案,也不像一本引人入胜的书籍,只需直接翻到褶皱最多的那几页,我们就能找到最精彩的片断。

因此我们在阅读程序时,最好逐一考察研究每一段代码,搞清楚每一段代码的来龙去脉,理解每一段代码在程序中所起的作用,进而形成一个虚拟的程序结构,并以此为基础来进行阅读。

1、分层读:高层入手,逐层深入,正确理解程序。

2、写注解:固化、总结、提炼已有的理解成果。

3、先模拟:根据代码顺序跟踪变量,模拟运算。

4、找规律:先模拟几次循环后,找出背后的规律。

5、看功能:从代码结构和运算结果判断程序功能。

6、猜算法:有时不知道算法,通过结构和函数猜一猜。

7、换方法:了解程序本质后,换一个熟悉的方法试试。

对大多数人来说,写程序是令人开心的一件事情,读别人的程序却很痛苦,很恐惧,宁愿自己重写一遍。

其实读到好的程序,就像读一篇美文,令人心旷神怡,豁然开朗,因为这背后是一个人的思维,甚至整个人生。

阅读别人的程序不仅可以巩固自己的知识,启发自己的思维,提升自己的修养,让你收获满满,其实,这也是在学习、在竞赛、在工作中的最重要、最常用的基本功。

如果说写程序是把自己的思维转化为代码,读程序就是把代码转化为你理解的别人的思维。

当你阅读程序时有强烈的代入感,像演员一样,真正进入到编剧的精神世界,面部表情也随之日渐丰富起来。

祝贺你!你通关了!总之,看得多,码得多,拼得多,你就考得多……NOIP2011-1.#include <iostream>#include <cstring> using namespace std; const int SIZE = 100; int main(){int n,i,sum,x,a[SIZE]; cin>>n;memset(a,0,sizeof(a)); for(i=1;i<=n;i++){ cin>>x;a[x]++;}i=0;sum=0;while(sum<(n/2+1)){ i++;sum+=a[i];}cout<<i<<endl; return 0;}输入:4 5 6 6 4 3 3 2 3 2 1一步步模拟,注意输出的是sum超出循环条件时的i值(中位数),而不是sum,也不是a[x]输出:3NOIP2011-2.#include <iostream>using namespace std;int n;void f2(int x,int y);void f1(int x,int y){if(x<n)f2(y,x+y);void f2(int x,int y){cout<<x<<' ';f1(y,x+y);}int main(){cin>>n;f1(0,1);return 0;}输入:30此为简单的递归题,依次输出f2(x,y)中的x值,注意边界条件时f1(x,y)的x>=30咦!这不是隔一个输出一个的Fibonacci吗?输出:1 2 5 13 34NOIP2011-3.#include <iostream>using namespace std;const int V=100;int n,m,ans,e[V][V];bool visited[V];void dfs(int x,intlen){int i;visited[x]= true;if(len>ans)ans=len;for(i=1;i<=n;i++)if( (!visited[i]) &&(e[x][i]!=-1) ) dfs(i,len+e[x][i]);visited[x]=false;}int main(){int i,j,a,b,c;cin>>n>>m;for(i=1;i<=n;i++)for(j=1;j<=m;j++)e[i][j]=-1;for(i=1;i<=m;i++) {cin>>a>>b>>c; e[a][b]=c;e[b][a]=c;}for(i=1;i<=n;i++) visited[i]=false; ans=0;for(i=1;i<=n;i++) dfs(i,0);cout<<ans<<endl; return 0;}输入:4 61 2 102 3 203 4 304 1 401 3 502 4 60一看就知这是深搜算法(DFS),输入是个四个顶点的无向图(邻接矩阵如下):如len>ans,则ans=len,可以说明这是个在图中用DFS找最长的路径的程序。

第十届NOIP初赛试题及答案(提高组C)-推荐下载

第十届NOIP初赛试题及答案(提高组C)-推荐下载
3. 某个车站呈狭长形,宽度只能容下一台车,并且只有一个出入口。已知某时刻该车站 状态为空,从这一时刻开始的出入记录为:“进,出,进,进,出,进,进,进,出, 出,进,出”。假设车辆入站的顺序为 1,2,3,……,则车辆出站的顺序为( )。 A. 1, 2, 3, 4, 5 B. 1, 2, 4, 5, 7 C. 1, 3, 5, 4, 6 D. 1, 3, 5, 6, 7 E. 1, 3, 6, 5, 7
( A B) (~ C B) 为( )。
A. {a, b, c, d} B. {a, b, d, e} C. {b, d, e} D. {b, c, d, e} E. {d, f, g}
2. 由 3 个 a,5 个 b 和 2 个 c 构成的所有字符串中,包含子串“abc”的共有( )个。 A. 40320 B. 39600 C. 840 D. 780 E. 60
第十届全国青少年信息学奥林匹克联赛初赛试题 ( 提高组 C 语言 二小时完成 )
●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●
一、 单项选择题 (共 10 题,每题 1.5 分,共计 15 分。每题有且仅有一个正确答案.)。
1. 设全集 I = {a, b, c, d, e, f, g},集合 A = {a, b, c},B = {b, d, e},C = {e, f, g},那么集合
4. 满二叉树的叶结点个数为 N,则它的结点总数为( )。 A. N B. 2 * N C. 2 * N – 1 D. 2 * N + 1 E. 2N – 1
5. 二叉树 T,已知其前序遍历序列为 1 2 4 3 5 7 6,中序遍历序列为 4 2 1 5 7 3 6,则其后 序遍历序列为( )。 A. 4 2 5 7 6 3 1 B. 4 2 7 5 6 3 1 C. 4 2 7 5 3 6 1 D. 4 7 2 3 5 6 1 E. 4 5 2 6 3 7 1

(noip2017)二十三届全国青少年信息学奥赛初赛试题及答案c++

(noip2017)二十三届全国青少年信息学奥赛初赛试题及答案c++

第二十三届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2017年10月14日14:30~16:30选手注意:●试题纸共有7页,答题纸共有2页,满分100分。

请在答题纸上作答,写在试题纸上的一律无效。

●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)1.在8位二进制补码中,表示的数是十进制下的()。

A.43???B.-85???C.-43???D.-842.计算机存储数据的基本单位是()。

A.bit???B.Byte???C.GB???D.KB3.下列协议中与电子邮件无关的是()。

A.POP3???B.SMTP???C.WTO???D.IMAP4.分辨率为800x600、16位色的位图,存储图像信息所需的空间为()。

A.937.5KB???B.4218.75KB???C.4320KB???D.2880KB5.计算机应用的最早领域是()。

A.数值计算???B.人工智能???C.机器人???D.过程控制6.下列不属于面向对象程序设计语言的是()。

A.C???B.C++???C.Java???D.C#7.NOI的中文意思是()。

A.中国信息学联赛???B.全国青少年信息学奥林匹克竞赛C.中国青少年信息学奥林匹克竞赛???D.中国计算机协会8.2017年10月1日是星期日,1999年10月1日是()。

A.星期三???B.星期日???C.星期五???D.星期二9.甲、乙、丙三位同学选修课程,从4门课程中,甲选修2门,乙、丙各选修3门,则不同的选修方案共有()种。

A.36???B.48???C.96???D.19210.设G是有n个结点、m条边(n≤m)的连通图,必须删去G的()条边,才能使得G变成一棵树。

A.m–n+1???B.m-n???C.m+n+1???D.n–m+111.对于给定的序列{ak},我们把(i,j)称为逆序对当且仅当i<j且ai>aj。

noip2017提高组试题

noip2017提高组试题

CCF 全国信息学奥林匹克联赛(NOIP2017)复赛提高组 day1(请选手务必仔细阅读本页内容)1、文件名(程序名和输入输出文件名)必须使用英文小写。

2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。

3、全国统一评测时采用的机器配置为:CPU AMD Athlon(tm) II x2 240 processor,2.8GHz,内存4G,上述时限以此配置为准。

4、只提供Linux 格式附加样例文件。

5、提交的程序代码文件的放置位置请参照各省的具体要求。

6、特别提醒:评测在当前最新公布的NOI Linux 下进行,各语言的编译器版本以其为准。

【问题描述】1.小凯的疑惑(math.cpp/c/pas)小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。

每种金币小凯都有无数个。

在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。

现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。

【输入格式】输入文件名为math.in。

输入数据仅一行,包含两个正整数a 和b,它们之间用一个空格隔开,表示小凯手中金币的面值。

【输出格式】输出文件名为math.out。

输出文件仅一行,一个正整数N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。

见选手目录下的math/math1.in 和math/math1.ans。

【输入输出样例1 说明】小凯手中有面值为3 和7 的金币无数个,在不找零的前提下无法准确支付价值为1、2、4、5、8、11 的物品,其中最贵的物品价值为11,比11 贵的物品都能买到,比如:12 = 3 * 4 + 7 * 013 = 3 * 2 + 7 * 114 = 3 * 0 + 7 * 215 = 3 * 5 + 7 * 0……【输入输出样例2】见选手目录下的math/math2.in 和math/math2.ans。

noip2017提高组试题(day1+day2)-Word版

noip2017提高组试题(day1+day2)-Word版

全国信息学奥林匹克联赛(2017)复赛提高组 1(请选手务必仔细阅读本页内容)一.题目概况注意事项:1、文件名(程序名和输入输出文件名)必须使用英文小写。

2、中函数 ()的返回值类型必须是,程序正常结束时的返回值必须是 0。

3、全国统一评测时采用的机器配置为: () x2 240 ,2.8,内存 4G,上述时限以此配置为准。

4、只提供格式附加样例文件。

5、提交的程序代码文件的放置位置请参照各省的具体要求。

6、特别提醒:评测在当前最新公布的下进行,各语言的编译器版本以其为准。

【问题描述】1.小凯的疑惑()小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。

每种金币小凯都有无数个。

在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。

现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。

【输入格式】输入文件名为。

输入数据仅一行,包含两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯手中金币的面值。

【输出格式】输出文件名为。

输出文件仅一行,一个正整数 N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。

【输入输出样例 1】见选手目录下的 1 和 1。

【输入输出样例 1 说明】小凯手中有面值为3 和7 的金币无数个,在不找零的前提下无法准确支付价值为1、2、4、5、8、11 的物品,其中最贵的物品价值为 11,比 11 贵的物品都能买到,比如:12 = 3 * 4 + 7 * 013 = 3 * 2 + 7 * 114 = 3 * 0 + 7 * 215 = 3 * 5 + 7 * 0……【输入输出样例 2】见选手目录下的 2 和 2。

【数据规模与约定】对于 30%的数据: 1 ≤ a,b ≤ 50。

对于 60%的数据: 1 ≤ a,b ≤ 10,000。

对于 100%的数据:1 ≤ a,b ≤ 1,000,000,000。

noip2017提高组试题day1day2Word版

noip2017提高组试题day1day2Word版

全国信息学奥林匹克联赛(2017)复赛提高组 1(请选手务必仔细阅读本页内容)一.题目概况二.提交源程序文件名三.编译命令(不包含任何优化开关)注意事项:1、文件名(程序名和输入输出文件名)必须使用英文小写。

2、中函数 ()的返回值类型必须是,程序正常结束时的返回值必须是 0。

3、全国统一评测时采用的机器配置为: () x2 240 ,2.8,内存 4G,上述时限以此配置为准。

4、只提供格式附加样例文件。

5、提交的程序代码文件的放置位置请参照各省的具体要求。

6、特别提醒:评测在当前最新公布的下进行,各语言的编译器版本以其为准。

【问题描述】1.小凯的疑惑()小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。

每种金币小凯都有无数个。

在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。

现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。

【输入格式】输入文件名为。

输入数据仅一行,包含两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯手中金币的面值。

【输出格式】输出文件名为。

输出文件仅一行,一个正整数 N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。

【输入输出样例 1】【输入输出样例 1 说明】小凯手中有面值为3 和7 的金币无数个,在不找零的前提下无法准确支付价值为1、2、4、5、8、11 的物品,其中最贵的物品价值为 11,比 11 贵的物品都能买到,比如:noip2017提高组试题day1day2Word版12 = 3 * 4 + 7 * 013 = 3 * 2 + 7 * 114 = 3 * 0 + 7 * 215 = 3 * 5 + 7 * 0……【输入输出样例 2】见选手目录下的 2 和 2。

【数据规模与约定】对于 30%的数据:1 ≤ a,b ≤ 50。

对于 60%的数据:1 ≤ a,b ≤ 10,000。

NOIP-2017全国青少年信息学奥林匹克联赛提高组初赛试题标准答案

NOIP-2017全国青少年信息学奥林匹克联赛提高组初赛试题标准答案

NOIP 2017全国青少年信息学奥林匹克联赛提高组初赛试卷答案一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分;每题有且仅有一个正确选项)1. 从( )年开始,NOIP 竞赛将不再支持 Pascal 语言。

A. 2020B. 2021C. 2022D. 20232.在 8 位二进制补码中,10101011 表示的数是十进制下的( )。

A. 43B. -85C. -43D.-843.分辨率为 1600x900、16 位色的位图,存储图像信息所需的空间为( )。

A. 2812.5KBB. 4218.75KBC. 4320KBD. 2880KB4. 2017年10月1日是星期日,1949年10月1日是( )。

A. 星期三B. 星期日C. 星期六D. 星期二5. 设 G 是有 n 个结点、m 条边(n ≤m)的连通图,必须删去 G 的( )条边,才能使得 G 变成一棵树。

A.m–n+1B. m-nC. m+n+1D.n–m+16. 若某算法的计算时间表示为递推关系式:T(N)=2T(N/2)+NlogNT(1)=1则该算法的时间复杂度为( )。

A.O(N)B.O(NlogN)C.O(N log2N)D.O(N2)7. 表达式a * (b + c) * d的后缀形式是()。

A. abcd*+*B. abc+*d*C. a*bc+*dD. b+c*a*d8. 由四个不同的点构成的简单无向连通图的个数是( )。

A. 32B. 35C. 38D. 419. 将7个名额分给4个不同的班级,允许有的班级没有名额,有( )种不同的分配方案。

A. 60B. 84C. 96D.12010. 若f[0]=0, f[1]=1, f[n+1]=(f[n]+f[n-1])/2,则随着i的增大,f[i]将接近与( )。

A. 1/2B. 2/3D. 111. 设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做( )次比较。

noip初赛试题及答案

noip初赛试题及答案

noip初赛试题及答案一、选择题(每题5分,共50分)1. 在计算机科学中,以下哪个选项是正确的关于算法复杂度的描述?A. 算法复杂度只与输入数据的大小有关B. 算法复杂度与计算机的硬件性能有关C. 算法复杂度与算法的执行步骤数有关D. 算法复杂度与算法的编程语言有关答案:C2. 在C++中,以下哪个关键字用于声明一个类?A. structB. classC. unionD. enum答案:B3. 在计算机程序中,以下哪个选项不是数据结构?A. 链表B. 数组C. 函数D. 树答案:C4. 在关系型数据库中,以下哪个操作用于删除表中的记录?A. SELECTB. INSERTC. DELETED. UPDATE答案:C5. 在HTML中,以下哪个标签用于定义最重要的标题?A. <h1>B. <h6>C. <p>D. <div>答案:A6. 在编程中,以下哪个选项是递归算法的正确描述?A. 递归算法必须有一个基本情况B. 递归算法不能包含循环C. 递归算法总是比迭代算法慢D. 递归算法不能用于解决实际问题答案:A7. 在操作系统中,以下哪个术语描述了CPU在多个任务之间切换的过程?A. 多线程B. 多任务C. 进程调度D. 内存管理答案:C8. 在计算机网络中,以下哪个协议用于在网络层传输数据?A. HTTPB. FTPC. TCPD. IP答案:D9. 在编程语言中,以下哪个选项是面向对象编程的核心概念之一?A. 过程B. 函数C. 类D. 变量答案:C10. 在计算机安全中,以下哪个措施用于防止未经授权的访问?A. 密码B. 验证码C. 双因素认证D. 所有选项答案:D二、填空题(每题5分,共50分)1. 在计算机科学中,______ 是指算法在最坏情况下所需的时间或空间资源。

答案:最坏情况复杂度2. 在C++中,______ 运算符用于定义类的成员函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
degree[i]--或--degree[i]
(4)
head:=head+1或inc(head)
head=head+1或head++或++head
3பைடு நூலகம்
(5)
ans<len[a]或len[a]>ans
2
degree[b]=degree[b]+1或
3
2
inc(degree[b])
degree[b]++或++degree[b]
.
(2)
degree[i]=0
degree[i]==0或!degree[i]
3
(3)
degree[i]:=degree[i]-1或
degree[i]=degree[i]-1或
3
dec(degree[i])
第二十三届全国青少年信息学奥林匹克联赛初赛
提高组参考答案
一、单项选择题(共15题,每题1.5分,共计22.5分)
1
2
3
4
5
6
7
8
C
B
A
C
A
C
B
C
9
10
11
12
13
14
15
D
B
D
D
A
D
C
二、不定项选择题(共5题,每题1.5分,共计7.5分;每题有一个或多个正确选项,没有部分分)
1
2
3
4
5
CD
C
D
BD
BD
三、问题求解(共2题,每题5分,共计10分)
1.
3
2.
4
(2分)
9
(3分)
四、阅读程序写结果(共4题,每题8分,共计32分)
1.15
2.17 24 1 8 15
3.8
4.输出1:1 3(2分)输出2:2017 1(3分)输出3:1 321(3分)
五、完善程序(共计28分,以下各程序填空可能还有一些等价的写法,由各省赛区组织本省专家审定及上机验证,可以不上报CCF NOI科学委员会复核)
Pascal语言
C++语言
C语言
分值
1
(1)
p[0]
2
.
(2)
rest<q或q>rest
3
(3)
rest div q
rest / q
3
(4)
rest mod q * 10 + p[i]
rest % q * 10 + p[i]
3
(5)
rest mod q
rest % q
3
(1)
degree[b]:=degree[b]+1或
相关文档
最新文档