2014noip复赛模拟练习10(答案)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

喜羊羊运动会——撑杆跳高

【试题描述】

运动会马上就要开始了,撑杆跳高场地上,羊村的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

【试题来源】武进区夏令营程序设计小能手PK program ex1797;

var n,i,j,t,sum:integer;

b,s:real;

a:array[1..100] of integer;

begin

readln(n,b);

for i:=1 to n do read(a[i]);

for i:=1 to n-1 do

for j:=i+1 to n do

if a[i]

t:=a[i];

a[i]:=a[j];

a[j]:=t;

end;

s:=0; i:=0;sum:=0;

repeat

inc(i);

s:=s+a[i];

inc(sum);

until (s>=b) or (i>=n);

if s

end.

彩票摇奖(LOTTERY.PAS)

【问题描述】

为了丰富人民群众的生活、支持某些社会公益事业,北塔市设置了一项彩票。该彩票的规则是:

(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)出现在中奖号码中,所以该彩票中了五等奖。

现已知中奖号码和小明买的若干张彩票的号码,请你写一个程序帮助小明判断他买的彩票的中奖情况。

输入文件(LOTTERY.IN):

输入文件的第一行只有一个自然数N ≤ 1000,表示小明买的彩票张数;第二行存放了7个介于1和33之间的自然数,表示中奖号码;在随后的N行中每行都有7个介于1和33之间的自然数,分别表示小明所买的N张彩票。

输出文件(LOTTERY.OUT):

依次输出小明所买的彩票的中奖情况(中奖的张数),首先输出特等奖的中奖张数,然后依次输出一等奖至六等奖的中奖张数。

输入输出样例:

【输入样例】LOTTERY.IN

2

23 31 1 14 19 17 18

12 8 9 23 1 16 7

11 7 10 21 2 9 31

【输出样例】LOTTERY.OUT

0 0 0 0 0 1 1

彩票摇奖(LOTTERY.PAS)

【问题描述】

为了丰富人民群众的生活、支持某些社会公益事业,北塔市设置了一项彩票。该彩票的规则是:

(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)出现在中奖号码中,所以该彩票中了五等奖。

现已知中奖号码和小明买的若干张彩票的号码,请你写一个程序帮助小明判断他买的彩票的中奖情况。

输入文件(LOTTERY.IN):

输入文件的第一行只有一个自然数N ≤ 1000,表示小明买的彩票张数;第二行存放了7个介于1和33之间的自然数,表示中奖号码;在随后的N行中每行都有7个介于1和33之间的自然数,分别表示小明所买的N张彩票。

输出文件(LOTTERY.OUT):

依次输出小明所买的彩票的中奖情况(中奖的张数),首先输出特等奖的中奖张数,然后依次输出一等奖至六等奖的中奖张数。

输入输出样例:

【输入样例】LOTTERY.IN

2