noip普及组复赛模拟试题18
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 话说去年苹果们被陶陶摘下来后都很生气,于是就用最先进的克隆技术把陶陶克隆了好多份>.<然后把他们挂在树上,准备摘取。摘取的规则是,一个苹果只能摘一个陶陶,且只能在它所能摘到的高度以下(即是小于关系)的最高的陶陶,如果摘不到的话只能灰溜溜的走开了>.<给出苹果数目及每个苹果可以够到的高度和各个陶陶的高度,求苹果们都摘完后剩下多少个陶陶……
【输入格式】第一行为两个数,分别为苹果的数量n和陶陶的数量m(n,m<=2000)以下的n行,分别为各个苹果能够到的最大高度。再接下来的m行,分别为各个陶陶的高度。高度均不高于300。
当然了,摘取的顺序按照输入的“苹果够到的最大高度”的顺序来摘。
【输出格式】输出仅有一个数,是剩下的陶陶的数量
【样例输入】5 5↙9↙10↙2↙3↙1↙6↙7↙8↙9↙10 【样例输出】3
2. 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。
任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前5名学生的学号和总分。注意,在前5名同学中,每个人的奖学金都不相同,因此,你必须严格按上述规则排序。例如,在某个正确答案中,如果前两行的输出数据(每行输出两个数:学号、总分)是:7 279 5 279
这两行数据的含义是:总分最高的两个同学的学号依次是7号、5号。这两名同学的总分都是279(总分等于输入的语文、数学、英语三科成绩之和),但学号为7的学生语文成绩更高一些。如果你的前两名的输出数据是:5 279 7 279则按输出错误处理,不能得分。【输入】输入文件scholar.in包含n+1行:
第1行为一个正整数n,表示该校参加评选的学生人数。
第2到n+1行,每行有3个用空格隔开的数字,每个数字都在0到100之间。第j行的3个数字依次表示学号为j-1的学生的语文、数学、英语的成绩。每个学生的学号按照输入顺序编号为1~n(恰好是输入数据的行号减1)。
所给的数据都是正确的,不必检验。
【输出】输出文件scholar.out共有5行,每行是两个用空格隔开的正整数, 依次表示前5名学生的学号和总分。
【输入输出样例1】
scholar.in scholar.out
6
90 67 80 87 66 91 78 89 91 88 99 77 67 89 64 78 89 98 6 265 4 264 3 258 2 244 1 237
【输入输出样例2】
scholar.in scholar.out
8
80 89 89 8 265 2 264
88 98 78 90 67 80 87 66 91 78 89 91 88 99 77 67 89 64 78 89 98 6 264 1 258 5 258
3. 许多电脑游戏都一个分数排行榜,上面的分数是以非递增顺序排列的。在这样的排行榜上,一个分数的名次就是它在一个有序列表中的位置。如果出现同分,则它们的名次就是它们在这个有序列表中排在最前的那个分数的位置。
如果有下列一个排行榜:100,90,90,80则它们的名次就是1,2,2,4
假设排行榜的大小为p(即如果分数的名次在大于p,则不能上榜。),现在有一个新的分数n,它能进入排行榜的条件是它进去之后,它在新的排行榜的位置小于等于p。但有一个例外,如果n与排行榜的最后一个分数n0相等,并且n0已经排在排行榜上的第p位,则n不能进入排行榜。现在给你一个排行榜,大小为p(排行榜不一定排满),和一个新的分数n,请你写一个程序去确定新分数进入排行榜后的名次。
【输入格式】输入共s+1行。第1行,3个整数,以空格隔开, p,s,n。p为排行榜的大小,s为排行榜上已有分数的个数,n为新分数。(10<=p<=50,0<=s<=p,0<=n<= 2000000000)第s+1行,每行为一个整数si,第i+1行为排行榜上第i 位的分数(0<=si<=2000000000)
【输出格式】输出共1行,1个整数,为新分数n在进入排行榜后的名次,如果n不能进入排行榜就输出-1。
【样例输入】10 3 90
100
90
80 【样例输出】2
4. 在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法。大家肯定很清楚,在中国象棋中炮的行走方式是:一个炮攻击到另一个炮,当且仅当它们在同一行或同一列中,且它们之间恰好有一个棋子。你也来和小可可一起锻炼一下思维吧!
【输入格式】一行包含两个整数N,M,之间由一个空格隔开。
【输出格式】总共的方案数,由于该值可能很大,只需给出方案数模9999973的结果。【样例输入】1 3
【样例输出】7
【样例说明】除了3个格子里都塞满了炮以外,其它方案都是可行的,所以一共有2*2*2-1=7种方案。
【提示】100%的数据中N和M不超过100
50%的数据中N和M至少有一个数不超过8
30%的数据中N和M均不超过6