作业帮 > 综合 > 作业

程序+导弹拦截问题

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/10/05 06:37:06
程序+导弹拦截问题
程序+导弹拦截问题
Problem
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够达到任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在使用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹.
Input
最多20个整数,分别表示导弹依次飞来的高度(雷达给出高度数据是不大于30000的正整数)
Output
整数M.表示:这套系统最多能拦截 M 枚导弹.
程序清单(in Pascal):
var
h:array [1..2,1..20] of integer;
hn:integer;
procedure init;
var i:integer;
begin
fillchar(h,sizeof(h),0);
hn:=0;
repeat
inc(hn);
read(h[1,hn])
until eof;
end;
procedure doit;
var i,j,n:integer;
begin
for i:=1 to 20 do h[2,i]:=1;
n:=1;
for i:=hn-1 downto 1 do
begin
for j:=i+1 to hn do
if (h[1,i]>=h[1,j]) and (h[2,i]