宁波市江北区中小学生计算机程序设计竞赛
复赛试题
题目一览
试题名称 | 整点报时 | 求和问题 | 吃水果问题 | 整除问题 | 这是一道动规题 |
英文代号 | time | sum | eat | battle | seq |
程序名 | sum.pas/c/cpp | sum.pas/c/cpp | eat.pas/c/cpp | battle.pas/c/cpp | seq.pas/c/cpp |
输入文件名 | time.in | sum.in | eat.in | battle.in | seq.in |
输出文件名 | time.out | sum.out | eat.out | battle.out | seq.out |
内存限制 | 128m | 128m | 128m | 128m | 128m |
时限 | 1s | 1s | 1s | 1s | 1s |
注意:
一、 关于竞赛中编程语言使用的规定参照中国计算机学会公布的《关于NOI系列赛编程语言使用限制的规定》。
二、 评测环境为windows。
1.整点报时
(time.pas/c/cpp)
【题目描述】
现在智能手机中都有闹钟程序,经过设置,它可以实现整点报时,发出若干个”di”的声音,请用程序来模拟这一现象。
【输入】
一个整数n
【输出】
只有一行,用n个”di”来表示,之间有一个空格。
【样例输入】
3
【样例输出】
di di di
【数据规模】
对于100%的数据,1<=n<=24。
2.求和问题
(sum.pas/c/cpp)
【题目描述】
给定1到n共n个数,你需要出连续的几个数使得其和为m,显然这样的方案有很多,请将每种方案都输出,输出方法请参考样例。
【输入】
第一行两个整数n和m。
【输出】
输出有多行,每行表示一种合法的方案,采用闭区间的方式给出方案([a,b]表示a到b这几个连续的整数),当有多种方案时按照a由小到大输出。
【样例输入】
20 15
【样例输出】
[1,5]
[4,6]
[7,8]
[15,15]
【样例说明】
1+2+3+4+5 = 15
4+5+6 = 15
7+8 = 15
15 = 15
【数据规模】
对于30%的数据,n,m<=100。
对于60%的数据,n,m<=1000000。
对于100%的数据,n,m<=10^12。
3.吃水果问题
(eat.pas/c/cpp)
【题目描述】
老李非常关注小李的饮食问题,给他制定了一长串吃水果清单。但是小李非常淘气,如果相邻两天吃的水果一样的话,他将会变得非常暴躁,精通编程的你能否帮助老李同志,判断是否存可以将老李的方案修改成让小李不暴躁。
【输入】
第一行,一个整数case,表示测试组数
对于每组测试数据:第一行,一个整数n,表示吃水果天数。
第二行,共n个空格隔开的数字ai,表示每天吃的水果编号。
【输出】
输出共case行,对于每一组测试数据如果存在方案输出Y否则输出N。
【样例输入】
2
6
1 2 4 2 2 4
5
1 1 1 2 1
【样例输出】
Y
N
【样例说明】
样例1存在1 2 4 2 4 2,样例2不存在。
【数据规模】
case<=100,1<=ai<=n
对于40%的数据,1<=n<=8
对于70%宁波学编程哪里好的数据,1<=n<=1000
对于100%的数据,1<=n<=10000
4.整除问题
(battle.pas/c/cpp)
【题目描述】
给定n个正整数a1,a2,…,ai,…,an,如果存在一个aj(1<=j<=n,且i不等于j)使得aj除以ai的余数为0,那么你将获得分数j,当有存在多个aj时,我们取获得分数最多的aj,计算每个ai获得的分数,请问最后你将获得多少分数。
【输入】
第一行n,表示共有n个数。
第二行共n个用空格隔开的整数。
【输出】
仅一个整数,表示能获得的最多的分数
【样例输入】
4
3 6 2 8
【样例输出】
6
【样例说明】
3获得的分数为2,6获得的分数为0,2获得的分数为4,8获得的分数为0。
2+0+4+0=6
【数据规模】
对于40%的数据,n<=1000
对于80%的数据,n<=100000,其中20%数据ai<=50
对于100%的数据,n<=5000000 ,ai<=200000
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论