2014NOIP复赛模拟题3
1.撑杆跳高
【试题描述】 运动会马上就要开始了,撑杆跳高场地上,羊村的N(3 <= N <= 100 )个村民正排成一队有秩序地练习。“好高啊,我都不知道自己能不能跳过去”,懒羊羊慢条斯理地说道。“这么高,不知道最少要几只羊叠在一起才会够得着”,沸羊羊向来比较喜欢思考数学问题,这样说道。 试编一程序,计算出最少要几只羊叠在一起(一头羊踩在另一头羊的背上)才能够得着横杆(所谓够得着,指羊的身高总和不小于横竿的高度B)。如果N头羊叠在一起,都够不着横竿,则输出“Impossible” 【输入描述】
第一行:两个整数N(3 <= N <= 100 )和B,表示队伍中羊的总数以及横竿的高度。 第二行:空格隔开的N个整数,表示每只羊的身高Hi(1 <= Hi <= 10000 )。
【输出描述】 一行,一个整数,表示最少要几头羊才能够到横竿。如果N只羊叠在一起都够不着则输出“Impossible”。 【输入样例】 样例1: 5 23
6 8 1 3 9 样例2: 6 16
1 2 3 1 3 5 【输出样例】 样例1:3
样例2:Impossible
2.彩票摇奖(LOTTERY)
【问题描述】 为了丰富人民群众的生活、支持某些社会公益事业,某市设置了一项彩票。该彩票的规则是:
(1) 每张彩票上印有7 个各不相同的号码,且这些号码的取指范围为1~33。 (2) 每次在兑奖前都会公布一个由七个各不相同的号码构成的中奖号码。 (3) 共设置7 个奖项,特等奖和一等奖至六等奖。兑奖规则如下: 特等奖:要求彩票上7 个号码都出现在中奖号码中。 一等奖:要求彩票上有6 个号码出现在中奖号码中。 二等奖:要求彩票上有5 个号码出现在中奖号码中。 三等奖:要求彩票上有4 个号码出现在中奖号码中。 四等奖:要求彩票上有3 个号码出现在中奖号码中。 五等奖:要求彩票上有2 个号码出现在中奖号码中。 六等奖:要求彩票上有1 个号码出现在中奖号码中。
注:兑奖时并不考虑彩票上的号码和中奖号码中的各个号码出现的位置。例如,中奖号码为23 31 1 14 19 17 18,则彩票12 8 9 23 1 16 7 由于其中有两个号码(23 和1)出现在中奖号码中,所以该彩票中了五等奖。 现已知中奖号码和小明买的若干张彩票的号码,请你写一个程序帮助小明判断他买的彩票的中奖情况。
输入要求: 输入的第一行只有一个自然数 N ≤ 1000,表示小明买的彩票张数;第二行存放了7 个介于1 和33 之间的自然数,表示中奖号码;在随后的 N 行中每行都有 7 个介于 1 和33 之间的自然数,分别表示小明所买的 N 张彩票。
1 / 8
2014NOIP复赛模拟题3
输出要求: 依次输出小明所买的彩票的中奖情况(中奖的张数),首先输出特等奖的中奖张数,然后依次输出一等奖至六等奖的中奖张数。 输入样例: 2
23 31 1 14 19 17 18 12 8 9 23 1 16 7 11 7 10 21 2 9 31 【输出样例】 0 0 0 0 0 1 1
3.贪污排名(Rank)
【题目描述】 :党的十八大热烈召开,XDD发表了热情洋溢的讲话,其中一个内容是腐败问题,坚持老虎苍蝇一起打,体现了反腐倡廉的决心。2012年的确是不平凡的一年,尤其在反腐败问题上,确定做了不少工作,抓了N个腐败分子,每抓一个贪官都要求他报出自己的财富,用一个整数表示,XDD每抓一个都想知道这个贪官在已经抓获的贪官中按照财富排第几名。党把这个光荣的任务交给了你。 输入要求:
输入文件Rank.in第一行输入一个整数N,表示今年抓获贪官的数量。接下来N行,每行一个整数,表示按照今年被抓获的顺序给出这N个贪官的财富。 输出要求:
输出文件Rank.out输出N行,第i行表示第i个贪官的财富在1-i个贪官中排第几位。
输入样例: 6 78 24 68 40 39 89 输出样例: 1 2 2 3 4 1
【数据说明】
30%的数据 N<=8000
100%的数据 N<=45000,财富互不相同且不超过2*10^9(虽然现实中可能不止)
4.邮递员送信(post)
问题描述:有一个邮递员要送东西,邮局在结点1。他总共要送N-1样东西,其目的地分别是2~N。由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,
2 / 8
2014NOIP复赛模拟题3
通过每条道路需要一定的时间。这个邮递员每次只能带一样东西。求送完这N-1样东西平且最终回到邮局最少需要多少时间。 【输入文件】
输入文件第一行包含一个正整数N和M;
接下来M行,每行三个正整数U、V、W,表示该条道路为从U到V的,且通过这条道路需要W的时间。满足1≤U,V≤N,1≤W≤10000,输入保证任意两点都能互相到达。 【输出文件】
输出仅一行,包含一个整数,为最少需要的时间。 【样例输入】 5 10 2 3 5 1 5 5 3 5 6 1 2 8 1 3 8 5 3 4 4 1 8 4 5 3 3 5 6 5 4 2 【样例输出】 83
【数据规模】
对于30%的数据,满足1≤N≤200;
对于100%的数据,满足1≤N≤1000,1≤M≤100000。
3 / 8
2014NOIP复赛模拟题3
1.
#include
ifstream fcin(\ofstream fout(\int main() { int n,i,j,t,sum,a[101]; float b,s; cin>>n>>b; for(i=1;i<=n;i++) cin>>a[i]; for(i=1;i 4 / 8 2014NOIP复赛模拟题3 #include ifstream fcin(\ofstream fout(\bool a[34][1000]={0}; int main() { int b[8]={0},n,i,j,u,s=0; cin>>n; for(i=0;i<=n;i++) for(j=1;j<8;j++) { cin>>u; a[u][i]=true; } for(i=1;i<=n;i++) { for(j=1;j<=33;j++) if(a[j][0]&&a[j][i]) s++; b[s]++; s=0; } for(i=7;i>=1;i--) cout< 3.(可用插入排序) #include ifstream fcin(\ofstream fout(\ 5 / 8