2017全国noip信息学奥赛提高组复赛试题
新鲜出炉,NOIP?2017全国青少年信息学奥林匹克联赛提高组初赛试题答案
新鲜出炉,NOIP 2017全国青少年信息学奥林匹克联赛提高组初赛试题答案关键词:信息学竞赛,NOIP,自主招生,青少年编程,少儿编程,苏州一、单项选择题(共 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合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做( )次比较。
noip2017提高组复赛解题报告
noip2017提高组复赛解题报告定期推送帐号信息学新闻,竞赛自主招生,信息学专业知识,信息学疑难解答,融科教育信息学竞赛培训等诸多优质内容的微信平台,欢迎分享文章给你的朋友或者朋友圈!以下解题思路及代码未经官方评测,仅供参考,复赛成绩以官方(CCF)评测结果为准。
Day11.小凯的疑惑(math.cpp/c/pas)【问题描述】小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。
每种金币小凯都有无数个。
在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。
现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。
【输入格式】输入文件名为math.in。
输入数据仅一行,包含两个正整数a 和b,它们之间用一个空格隔开,表示小凯手中金币的面值。
【输出格式】输出文件名为math.out。
输出文件仅一行,一个正整数N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。
【输入输出样例1】math.in3 7 math.out11【数据规模与约定】对于30%的数据: 1 ≤a,b ≤50。
对于60%的数据: 1 ≤a,b ≤10,000。
对于100%的数据:1 ≤a,b ≤1,000,000,000。
数学太差只找规律吧。
设:其中一个数为2则:2、3=>1;2、5=>3;2、7=>5;2、11=>9得:2、n=>n-2设:其中一个数为3则:3、5=>7;3、7=>11;3、11=>19;3、13=>23得:3、n=>2n-3设:其中一个数为5则:5、7=>23;5、11=>39;5、13=>47;5、17=>63得:5、n=>4n-5所以:m、n=>(m-1)n-m #includeusing namespace std;int main(){ long long a,m,n;scanf('%lld %lld',&m,&n); a=(m-1)*n-m;printf('%lld',a); return 0;} 2.时间复杂度(complexity.cpp/c/pas)【问题描述】小明正在学习一种新的编程语言A++,刚学会循环语句的他激动地写了好多程序并给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序,于是你的机会来啦!下面请你编写程序来判断小明对他的每个程序给出的时间复杂度是否正确。
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版
全国信息学奥林匹克联赛(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。
历届noip提高组复赛试题
NOI’ 95“同创杯”全国青少年信息学(计算机)奥林匹克竞赛分区联赛复赛试题(高中组)(上机编程,完成时间:210 分钟)<1>编码问题:设有一个数组A:ARRAY[0..N-1] OF INTEGER;数组中存放的元素为0~N-1 之间的整数,且A[i]≠ A[j](当i≠ j时)。
例如: N=6 时,有:此时,数组 A 的编码定义如下:A[0] 的编码为0;A[i] 的编码为:在A[0] ,A[1]∴上面数组 A 的编码为:A= ( 4,3, 0, 5,1, 2),, A[i-1] 中比 A[i] 的值小的个数(B= (0, 0,0,3,1, 2)i=1 ,2,, N-1 )程序要求解决以下问题:①给出数组 A 后,求出其编码。
②给出数组 A 的编码后,求出 A 中的原数据。
<2> 灯的排列问题:设在一排上有 N 个格子( N≤ 20),若在格子中放置有不同颜色的灯,每种灯的个数记为 N 1, N2, N k( k 表示不同颜色灯的个数)。
放灯时要遵守下列规则:①同一种颜色的灯不能分开;②不同颜色的灯之间至少要有一个空位置。
例如: N=8 (格子数)R=2 (红灯数)B=3 (蓝灯数)放置的方法有:R-B 顺序R R B B BR R B B BR R B B BR R B B BR R B B BR R B B BB-R顺序B B B BBBBBBBBBBBBBBR RRRBRRRRRRRR放置的总数为12 种。
数据输入的方式为:NP1(颜色,为一个字母)P2N1(灯的数量)N2Q(结束标记, Q 本身不是灯的颜色)程序要求:求出一种顺序的排列方案及排列总数。
<3> 设有一个四层的积木块,1~ 4 层积木块的数量依次为:5, 6,7, 8如下图所示放置:815851691423414326其中,给出第三层与第四层所标示的数字,并已知第三层的数据是由第四层的数据计算出来的。
NOIP2017提高组C++试题(无水印,去水印文字版)
D. O(N2)
D. b + c * a * d )。 D. 41
9. 将 7 个名额分给 4 个不同的班级,允许有的班级没有名额,有( 同的分配方案。 A. 60 B. 84 C. 96 D. 120
)种不
10. 若 f[0] = 0, f[1] = 1, f[n + 1] = (f[n] + f[n - 1]) / 2,则随着 i 的增大,f[i]将接近于 ( )。 −1 A. 1/2 B. 2/3 C. √5 D. 1 2 11. 设 A 和 B 是两个长为 n 的有序数组, 现在需要将 A 和 B 合并成一个排好序的 数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做 ( )次比较。 2 A. n B. n log n C. 2n D. 2n-1 12. 在 n(n ≥ 3)枚硬币中有一枚质量不合格的硬币(质量过轻或质量过重), 如果只有一架天平可以用来称重且称重的硬币数没有限制,下面是找出这枚 不合格的硬币的算法。请把 a-c 三行代码补全到算法中。 a. ������ ← ������ ∪ ������ b. ������ ← ������ c. ������ ← |������| 算法 Coin(A, n) 1. ������ ← ⌊������/3⌋ 2. 将 A 中硬币分成 X,Y,Z 三个集合,使得|������| = |������| = ������, |������| = ������ − 2������ 3. if ������(������) ≠ ������(������) //W(X), W(Y)分别为 X 或 Y 的重量 4. then __________ 5. else __________ 6. __________ 7. if n>2 then goto 1 8. if n=2 then 任取 A 中 1 枚硬币与拿走硬币比较,若不等,则它不合格; 若相等,则 A 中剩下的硬币不合格. 9. if n=1 then A 中硬币不合格 正确的填空顺序是( )。 A. b, c, a B. c, b, a
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。
2014—2017年全国青少年信息学奥林匹克竞赛初赛提高组C语言试题(附答案)
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合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做( )次比较。
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,表示不找零的情形下,小凯用手中的金币不能准确支付的最贵的物品的价值。
【输入输出样例1】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。
NOIP历年复赛提高组试题
全国信息学奥林匹克分区联赛(NOIP)复赛提高组试题第一届全国信息学奥林匹克分区联赛(NOIP1995)复赛试题(提高组竞赛用时:3.5小时)1、编码问题设有一个数组A:ARRAY[0..N-1]OFINTEGER;数组中存放的元素为0~N-1之间的整数,且A[i]≠A[j](当i≠j时)。
例如:N=6时,有:A=(4,3,0,5,1,2)此时,数组A的编码定义如下:A[0]的编码为0;A[i]的编码为:在A[0],A[1],…,A[i-1]中比A[i]的值小的个数(i=1,2,…,N-1)∴上面数组A的编码为:B=(0,0,0,3,1,2)程序要求解决以下问题:①给出数组A后,求出其编码。
②给出数组A的编码后,求出A中的原数据。
2、灯的排列问题设在一排上有N个格子(N≤20),若在格子中放置有不同颜色的灯,每种灯的个数记为N1,N2,……N k(k表示不同颜色灯的个数)。
放灯时要遵守下列规则:①同一种颜色的灯不能分开;②不同颜色的灯之间至少要有一个空位置。
例如:N=8(格子数);R=2(红灯数);B=3(蓝灯数),放置的方法有:R-B顺序B-R顺序放置的方法总数为12种。
数据输入的方式为:NP1(颜色,为一个字母)N1(灯的数量)P2 N2……Q(结束标记,Q本身不是灯的颜色)程序要求:求出一种顺序的放置(排列)方案及放置(排列)方案总数。
3、积木块上的数字设有一个四层的积木块,1~4层积木块的数量依次为:5,6,7,8,如下图所示放置:其中,给出第三层与第四层所标示的数字,并已知第三层的数据是由第四层的数据计算出来的。
计算的方法是:第三层的某个数据A是由第四层相邻的两个数据B,C经过某种计算后产生的:计算所用到的计算符为:+,-,⨯,且无优先级之分(自左向右计算),运算符最多为2个。
如:3+4⨯5=35 5⨯4+3=23可以看出,上图中的第三层的数据是由第四层的数据用以下计算公式计算出来的:A=B⨯C+B也就是:8=2⨯3+2,15=3⨯4+3,……14=2⨯6+2程序要求:给出第四层与第三层的数据后,将第一、二层的每块积木标上相应的数据,并输出整个完整的积木图及计算公式。
NOIP2017复赛普与组试题(卷)
CCF全国信息学奥林匹克联赛(NOIP2017)复赛普及组(请选手务必仔细阅读本页内容)一.题目概况二.提交源程序文件名三.编译命令(不包含任何优化开关)注意事项: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. 成绩(score.cpp/c/pas)【问题描述】牛牛最近学习了 C++入门课程,这门课程的总成绩计算方法是:总成绩=作业成绩×20%+小测成绩×30%+期末考试成绩×50%牛牛想知道,这门课程自己最终能得到多少分。
【输入格式】输入文件名为 score.in。
输入文件只有 1 行,包含三个非负整数A、B、C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。
相邻两个数之间用一个空格隔开,三项成绩满分都是 100 分。
【输出格式】输出文件名为 score.out。
输出文件只有 1 行,包含一个整数,即牛牛这门课程的总成绩,满分也是 100 分。
【输入输出样例 1】【输入输出样例 1 说明】牛牛的作业成绩是 100 分,小测成绩是 100 分,期末考试成绩是 80 分,总成绩是100×20%+100×30%+80×50%=20+30+40=90。
【输入输出样例 2】【输入输出样例 2 说明】牛牛的作业成绩是 60 分,小测成绩是 90 分,期末考试成绩是 80 分,总成绩是60×20%+90×30%+80×50%=12+27+40=79。
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合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做( )次比较。
2017 年山东省信息学奥林匹克联赛(NOIP2017)复赛小学组试题(二)
2017年山东省信息学奥林匹克联赛(NOIP2017)复赛小学组试题(二)(2017年11月11日16:30~18:00)(请选手务必仔细阅读本页内容)一.题目概况二.提交源程序文件名注意事项:1.文件名(程序名和输入输出文件名)必须使用英文小写。
2.C/C++中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。
三.参考文件输入输出操作以第一题为例:一. 6174问题【问题描述】假设你有一个各位数字不完全相同的四位数,把所有的数字从大到小排序后得到a,从小到大排序后得到b,然后用a-b替换原来这个数,并且继续操作。
例如,从1234出发,依次可以得到4321-1234=3087、8730-378=8352、8532-2358=6174、7641-1467=6174,又回到了它自己!现在请你写一个程序来判断一个四位数经过多少次这样的操作能出现循环。
比如输入1234执行顺序是1234->3087->8352->6174->6174,输出结果是4。
【输入】输入文件名为kaprekar.in。
输入文件第一行是一个正整数n,表示有n组测试数据,接下来的n行,每行一个各位数字不完全相同的四位数。
【输出】输出文件名为kaprekar.out。
对于每组测试数据输出一行,每行中只有一个整数,表示经过多少次操作才出现循环。
【输入输出样例】对于50%的数据:0<n<=100;对于100%的数据:0<n<=10000。
二. 素数【问题描述】走进世博园某信息通信馆,参观者将获得前所未有的尖端互动体验,一场充满创想和喜悦的信息通信互动体验秀将以全新形式呈现,从观众踏入展馆的第一步起,就将与手持终端密不可分,人类未来梦想的惊喜从参观者的掌上展开。
在等候区的梦想花园中,参观者便开始了他们奇妙的体验之旅,等待中的游客可利用手机等终端参与互动小游戏,与梦想剧场内的虚拟人物Kr. Kong 进行猜数比赛。
2017 年山东省信息学奥林匹克联赛(NOIP2017)复赛小学组试题(一)
2017年山东省信息学奥林匹克联赛(NOIP2017)复赛小学组试题(一)(2017年11月11日14:30~16:00)(请选手务必仔细阅读本页内容)一.题目概况二.提交源程序文件名注意事项:1.文件名(程序名和输入输出文件名)必须使用英文小写。
2.C/C++中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。
三.参考文件输入输出操作以第一题为例:一.小学生算术【问题描述】很多小学生在学习加法时,发现“进位”特别容易出错。
你的任务是计算两个正整数在相加时有多少次进位。
你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。
【输入】输入文件名为carry.in。
输入文件中,每行上有两个正整数x,y,中间用一个空格隔开,最后一行是0 0。
【输出】输出文件名为carry.out。
输出文件对于每行数据输出一行,每行中只有一个整数,表示x,y相加时有多少次进位。
【输入输出样例】对于50%的数据:0<x,y<=10000;对于100%的数据:0<x,y<=1000000000;对于100%的数据:n<=10000。
二. 股票难题【问题描述】这些日子乔治一直在研究股票,经过调研,他终于发现了某公司股票的规律。
更可喜的是,乔治能推算出这家公司每天的股价,为了防止别人发现他的秘密,他决定对于这家公司的股票最多买入、卖出各一次。
现在他已经将股票价格列了出来,根据股票价格表,你能算出乔治的每股股票最多能赚多少钱吗?【输入】输入文件名为stock.in。
输入文件的第一行,一个正整数n,表示天数;第二行,用空格隔开的n个正整数,依次表示n天中每股股票的价格。
【输出】输出文件名为stock.out。
输出文件只有一行,一个整数,表示每股最多赚多少钱。
【输入输出样例】第2天买入,第4天卖出,赚得771-267=504。
【数据范围】对于30%的数据:n<=1000;对于60%的数据:n<=10000;对于100%的数据:n<=1000000;对于100%的数据:股票价格不超过1000000000。
NOIP2017初赛提高组参考答案
(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.
NOIP2017提高组C++精彩试题
第二十三届全国青少年信息学奥林匹克联赛初赛提高组 C++语言试题竞赛时间:2017 年 10 月 14 日 14:30~16:30选手注意:试题纸共有 10 页,答题纸共有 2 页,满分 100 分。
请在答题纸上作答,写在试题纸上的一律无效。
不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分;每题有且仅有一个正确选项)1. 从( )年开始,NOIP 竞赛将不再支持 Pascal 语言。
A. 2020 B. 2021 C. 2022 D. 20232. 在 8 位二进制补码中,10101011 表示的数是十进制下的( )。
A. 43B. -85C. -43D. -843. 分辨率为 1600x900、16 位色的位图,存储图像信息所需的空间为( )。
A. 2812.5KB B. 4218.75KB C. 4320KB D. 2880KB 4. 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) + N log N T(1) = 1则该算法的时间复杂度为( )。
A. O(N)B. O(N log N)C. O(N log 2 N)D. O(N 2)7. 表达式 a * (b + c) * d 的后缀形式是( )。
A. a b c d * + *B. a b c + * d *C. a * b c + * dD. b + c * a * d 8. 由四个不同的点构成的简单无向连通图的个数是( )。
历届noip提高组复赛试题
NOI’95 “同创杯”全国青少年信息学(计算机)奥林匹克竞赛分区联赛复赛试题(高中组)(上机编程,完成时间:210分钟)<1>编码问题:设有一个数组A:ARRAY[0..N-1] OF INTEGER;数组中存放的元素为0~N-1之间的整数,且A[i]≠A[j](当i≠j时)。
例如:N=6时,有:A=(4,3,0,5,1,2)此时,数组A的编码定义如下:A[0]的编码为0;A[i]的编码为:在A[0],A[1],…,A[i-1]中比A[i]的值小的个数(i=1,2,…,N-1)∴上面数组A的编码为:B=(0,0,0,3,1,2)程序要求解决以下问题:①给出数组A后,求出其编码。
②给出数组A的编码后,求出A中的原数据。
<2>灯的排列问题:设在一排上有N个格子(N≤20),若在格子中放置有不同颜色的灯,每种灯的个数记为N1,N2,……N k(k表示不同颜色灯的个数)。
放灯时要遵守下列规则:①同一种颜色的灯不能分开;②不同颜色的灯之间至少要有一个空位置。
例如:N=8(格子数)R=2(红灯数)B=3(蓝灯数)放置的方法有:R-B顺序B-R顺序放置的总数为12种。
数据输入的方式为:NP1(颜色,为一个字母)N1(灯的数量)P2 N2……Q(结束标记,Q本身不是灯的颜色)程序要求:求出一种顺序的排列方案及排列总数。
<3> 设有一个四层的积木块,1~4层积木块的数量依次为:5,6,7,8如下图所示放置:其中,给出第三层与第四层所标示的数字,并已知第三层的数据是由第四层的数据计算出来的。
计算的方法是:第三层的某个数据A是由第四层相邻的两个数据B,C经过某种计算后产生的:计算所用到的计算符为:+,-,⨯,且无优先级之分(自左向右计算),运算符最多为2个。
如:3+4⨯5=35 5⨯4+3=23可以看出,上图中的第三层的数据是由第四层的数据用以下计算公式计算出来的:A=B⨯C+B也就是:8=2⨯3+2,15=3⨯4+3,……14=2⨯6+2程序要求:给出第四层与第三层的数据后,将第一、二层的每块积木标上相应的数据,并输出整个完整的积木图及计算公式。
NOIP2017提高组初赛模拟题
第二十三届全国青少年信息学奥林匹克联赛初赛提高组 PASCAL语言模拟试题竞赛时间:2017年10月 14 日14:30~16:30选手注意:●试题纸共有13页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上的一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共15题,每题 1.5分,共计22.5分;每题有且仅有一个正确选项)1.1956年()授予肖克利(William Shockley)、巴丁(John Bardeen)和布拉顿(Walter Brattain),以表彰他们对半导体的研究和晶体管效应的发现。
A. 诺贝尔物理学奖B. 约翰·冯·诺依曼奖C. 图灵奖D. 高德纳奖(DonaldE. Knuth Prize)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.以比较作为基本运算,在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.一棵二叉树如右图所示,若采用二叉树链表存储该二叉树(各个结点包括结点的数据、左孩子指针、右孩子指针)。