描述:
一种新型的防卫导弹可截击多个攻击导弹。它可以向前飞行,也可以用很快的速度向下飞行,可以毫无损伤地截击进攻导弹,但不可以向后或向上飞行。但有一个缺点,尽管它发射时可以达到任意高度,但它只能截击比它上次截击导弹时所处高度低或者高度相同的导弹。现对这种新型防卫导弹进行测试,在每一次测试中,发射一系列的测试导弹(这些导弹发射的间隔时间固定,飞行速度相同),该防卫导弹所能获得的信息包括各进攻导弹的高度,以及它们发射次序。现要求编一程序,求在每次测试中,该防卫导弹最多能截击的进攻导弹数量,一个导弹能被截击应满足下列两个条件之一:
a)它是该次测试中第一个被防卫导弹截击的导弹;
b)它是在上一次被截击导弹的发射后发射,且高度不大于上一次被截击导弹的高度的导弹。
输入:
多个测例。
每个测例第一行是一个整数n(n不超过100),第二行n个整数表示导弹的高度(数字的顺序即发射的顺序)。
n=0表示输入结束。
输出:
每个测例在单独的一行内输出截击导弹的最大数目。
输入样例:
5
56100661
0
解题思路:利用动态规划,从后先找到各个数的最大的数目,往前求时利用后面以求的数目,这样就不用重复求了。
代码如下:
-
#include<iostream>
-
#include<cstring>
-
usingnamespacestd;
-
constintMax(105);
-
intdata[Max];
-
intnum[Max];
-
intmain()
-
{
-
intn;
-
while(cin>>n&&n)
-
{
-
intsum=0;
-
for(inti=1;i<=n;i++)
-
{
-
num[i]=0;
-
cin>>data[i];
-
}
-
for(i=n;i>0;i--)
-
{
-
for(intj=i+1;j<=n;j++)
-
if(data[j]<=data[i])
-
{
-
if(num[i]<num[j]+1)
-
num[i]=num[j]+1;
-
if(num[i]>sum)
-
sum=num[i];
-
}
-
}
-
cout<<sum+1<<endl;
-
}
-
return0;
- }
分享到:
相关推荐
一种新型的防卫导弹可截击多个攻击导弹。它可以向前飞行,也可以用很快的速度向下飞行,可以毫无损伤地截击进攻导弹,但不可以向后或向上飞行。但有一个缺点,尽管它发射时可以达到任意高度,但它只能截击比它上次...
防卫导弹int select(int h[],int n) { int i,j,l[100],max; l[n-1]=1; for(i=n-2;i>=0;i--) { max=0; for(j=i+1;j;j++) if(h[i]>=h[j]&&max[j]) max=l[j]; l[i]=max+1; }
M导弹店销模式培训课件.pptx
正当防卫限度问题研究开题报告
正当防卫2螺旋桨飞机!
3d漫画地球防卫部队 [威猛善战的人体防卫部队,说明文阅读答案] .docx
steam Self-defense 4 -console MOD ~Key , Command daquan
(毕业设计)java手机游戏(堡垒)的设计与开发(源代码+论文)
2010年度日本防卫白皮书述评.pdf
3正当防卫与紧急避险.ppt
帮助了解动态规划算法
防卫器材使用管理制度.doc
精准防卫 安全无畏 精准防卫 安全无畏
《算法分析与设计》课程中所有的实验报告,包括:N皇后问题,全排列问题,最少硬币问题,防卫导弹问题...等
内容介绍: 这是一本学习网络安全的入门教材,通过生动的图片,详细的步骤,丰富的提示讲述了电脑黑客的常见行为。即使电脑基础为零的读者也能迅速把握黑客的伎俩。在黑客攻防的案例中,我们还对关键的技术问题。...
日本《防卫白皮书》继续炒作“中国威胁”.pdf
防卫1.doc
刑事案件中正当防卫的司法适用问题研究_郭阳.caj
基于信息化条件下交通运输防卫环境及防卫措施的分析.docx
鹰图的安全防卫平台是在与政府部门和专业机构合作研发的基础上建立起来的,这些部门包括(但不限于): 开放地理空间信息联盟(OGC®, Open Geospatial Consortium); 橡树岭国家实验室(Oak Ridge National ...