绍兴市第十六届少儿信息学竞赛复赛试题
(考试时间:150分钟)
一、题目一览
中文题目名称
拳王争霸
最佳时间
有趣的数学
编程机器人
英文题目名称
king
time
math
robot
输入文件名
king.in
time.in
math.in
robot.in
输出文件名
king.out
time.out
math.out
robot.out
每个测试点时限
1秒
1
1
1
测试点数目
10
10
10
10
每个测试点分值
10
10
10
10
二、比赛目录结构示例
选手比赛时,需在本机为每题建立对应的题目目录,目录名称与英文题目名称相同。选手根
据题目要求,将自己提交的源程序,放在该题的题目目录下。
每位选手把自己提交的源程序连同要求的目录结构,存入D盘根目录中。(只递交源程序,测试时以源程序为准)
例如:假设试卷中有cashier、dune、manhattan三题,选手sx001分别使用C、Pascal、C++答题,其最终提交的文件为cashier.c、dune.pas、manhattan.cpp,则该选手提交的目录结构如下所示:
  |---sx001/
|---cashier/
          |---cashier.c
        |---dune/
          |---dune.pas
        |---manhattan/
            |---manhattan.cpp
三、特别提醒
1、务必看清题目,严格按照试题所要求的格式输入、输出。
2、比赛开始前应先检查本机能否正常使用,如有问题可向监考老师提出。比赛结束后应及时离开机房,但注意不要关机。
1、拳王争霸(king.pas/c/cpp)
【问题描述】
泽泽的爱好非常广泛,拳击比赛是他的爱好之一。电视里正在播放拳王争霸赛,n个人排成一排,他们进行拳击比赛,先让最前面两个人比赛,赢的人和下面一个人比赛,输的人到队伍的末。每一次比赛的结果是比赛的两个人的能量确定,能量大的人胜注:保证所有人的能量都不同,假设所有人的能量能瞬间恢复,精力一直是旺盛的)。大赛规定:只要能连续获胜 k 场的人将成为“拳王”。
【输入】
第一行输入两个整数 n  k , 分别表示人数和需要连续获胜的次数
    第二行 n 个整数 A_1A_2,..., A_n (1<=A_i<=n)分别表示每个人的能量
【输出】
输出一个整数,就是 “拳王”的能量
【输入输出样例】
样例输入1
样例输入2
样例输入3
2 2
1 2
4 2
3 2 1 4
2 10000000000
2 1
样例输出1
样例输出2
样例输出3
2
3
2
【样例2解释】
有4个人参赛,只要能按比赛规定连续获得2次胜利,那个人就是拳王。
第1个人的能量是3,他先跟能量1打,能量3获得胜利,能量1排到队伍的末尾。能量3再跟能量2打,能量3继续获胜。 他连续两次获胜,所以他成为“拳王”。
【数据范围约定】
对于50%的数据,保证2<=k<=n。
对于100%的数据,保证 2<=n<=500,2<=k<=1000000000000。
2、最佳时间(time.pas/c/cpp)
问题描述
泽泽不但喜欢看拳击比赛,而且也喜欢下围棋和编程,所以他决定参加围棋和编程兴趣班。
围棋兴趣班共有n个时间段选择,第i 个时间段排在(Li ~ Ri)。编程兴趣班也有m个时间
段选择,第i 个时间段排在(Ai ~ Bi)。他必须要选择一个围棋班和一个编程班的时间段,但他希望选的这两个班中间的休息时间越长越好。
例如,他选了这两个时间段(L1 ~ R1)和(A1 ~ B1),假设(L1 ~ R1)这节课在前面,(A1 ~ B1)这节课在后面,那么,泽泽在中间休息的时间是A1-R1。特别说明,当两节课上课时间有冲突,泽泽在中间休息时间为 0。
泽泽想算一算他所选的两节兴趣课之间,能休息的时间最长是多少?请你帮助泽泽一,算一算。
【输入】
第一行输入一个整数n,表示围棋兴趣班可选择的时间段。
下列n行,每行都输入两个整数Li和Ri ,分别表示泽泽参加第i个围棋班的起止时间。
下面一行输入的一个整数m,表示编程兴趣班可选择的时间段。
下列m行,每行都输入两个整数Ai和Bi ,分别表示泽泽参加第i个编程班的起止时间。
【输出】
输出一个整数,表示两个时间段之间的最长休息时间(如果所有时间段都有冲突,则输出0)。
【输入输出样例】
样例输入1
样例输入2
3
1 5
2 6
2 3
2
2 4
6 8
3
1 5
2 6
3 7
2
2 4
1 4
样例输出1
样例输出2
3
0
【样例解释】
样例1,泽泽可以在这段时间(23)参加围棋班,并在另一段时间(6,8)参加编程班。不难算出,在这种情况下,他中间休息的时间是最长的6-3=3
样例2,他选择任何一段时间,两个兴趣班上课的时间都有冲突,所以答案是0
【数据范围约定】
对于60%的数据,保证1n100001m10000
对于100%的数据,保证1n2000001m200000 1LiRi10000000001AiBi1000000000
3、有趣的数学 (math.pas/c/cpp)
问题描述
自从泽泽参加了围棋班和编程班以后,不仅思维非常敏捷,而且有些难懂的数学问题他都
能轻松解答,他爱上了数学。老师为了锻炼他,让他的思维能有突飞猛进的进步,给了他这样一题数学题:给你一个正整数N,请你出N是由哪些若干个(两个或多个)连续的正整数的和得到。
【输入】
第一行输入一个正整数N
【输出】
输出至少有一个答案,每个答案一行,每行输出这个答案中的第一个加数和最后一个加数。如果有多个答案,这些答案必须按第一个加数从小到大进行排列。(注:两个加数之间只有一个空格
【输入输出样例】
样例输入1
样例输出1
6
1 3
样例输入2
样例输出2
27
2 7
8 10
少儿编程班揭秘13 14
【样例解释
样例1说明:6=1+2+3    第一个加数是1,最后一个加数是3  输出1  3
样例2说明:27=2+3+4+5+6+7,第一个加数是2,最后一个加数是7  输出2  7
27=8+9+10    第一个加数是8,最后一个加数是10 输出8  10

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。