NYOJ 79

简介:  拦截导弹 时间限制:3000 ms  |  内存限制:65535 KB  难度:3 描述  某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然   它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于等于前一发的高度。

 

 拦截导弹

时间限制:3000 ms  |  内存限制:65535 KB 

难度:3

描述 

某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然

 

它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于等于前一发的高度。某天,雷

 

达捕捉到敌国导弹来袭。由于该系统还在试用阶段,所以只用一套系统,因此有可能不能拦截所有的

 

导弹。

 

输入 

第一行输入测试数据组数N(1<=N<=10)

接下来一行输入这组测试数据共有多少个导弹m(1<=m<=20)

接下来行输入导弹依次飞来的高度,所有高度值均是大于0的正整数。

 

输出 

输出最多能拦截的导弹数目 

样例输入 

2

8

389 207 155 300 299 170 158 65

3

88 34 65样例输出 

6

2

 

 

 

 

//AC

#include<stdio.h>

#define N 21

int dp(int b[],int n)

{

int i,j;int max;int d[N];

for(i=0;i<N;i++)

d[i]=1;

for(i=n-2;i>=0;i--)

for(j=i+1;j<=n-1;j++)

if(b[j]<b[i]&&d[i]<d[j]+1)

d[i]=d[j]+1;

max=d[0];

for(i=1;i<n;i++)

{

if(max<d[i])

max=d[i];

}

return max;

}

int main()

{

int i,j,num;int T,ans;

int a[N];

scanf("%d",&T);

for(i=1;i<=T;i++)

{

scanf("%d",&num);

for(j=0;j<num;j++)

scanf("%d",&a[j]);

ans=dp(a,num);

printf("%d\n",ans);

}

return 0;

}

 

 

 

 

 

 

 

 

 

        

 

 

 

 

 

 

//还不太动为啥错

#include<stdio.h>

#define N 21

int dp(int b[],int n)

{

int i,j,k;int max;int d[N];

for(i=0;i<N;i++)

d[i]=1;

for(i=0;i<n-1;i--)

{

k=i;

for(j=i+1;j<n;j++)

if(b[j]<b[k])

{

d[i]++;

k++;

}

else

break;

 

}

max=d[0];

for(i=1;i<n;i++)

{

if(max<d[i])

max=d[i];

}

return max;

}

int main()

{

int i,j;int T,ans,num;

int a[N];

scanf("%d",&T);

for(i=1;i<=T;i++)

{

scanf("%d",&num);

for(j=0;j<num;j++)

scanf("%d",&a[j]);

ans=dp(a,num);

printf("%d\n",ans);

}

return 0;

}

 

 

//实参和形参不匹配,程序也会停止

 //无符号十进制为%U

 

 

 

 

 

目录
相关文章
|
人工智能 算法
|
API
NYOJ 540
  为了给学弟学妹讲课,我水了一道题…… import java.util.Arrays; import java.util.Scanner; public class NYOJ540 { public static void main(String[] args) { ...
799 0
|
计算机视觉
NYOJ 289
  苹果 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 ctest有n个苹果,要将它放入容量为v的背包。给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值。
727 0
NYOJ 27
  水池数目 时间限制:3000 ms | 内存限制:65535 KB 难度:4   描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地图上仅标识了此处是否是水池,现在,你的任务来了,请用计算机算出该地图中共有几个水池。
764 0
NYOJ 19
  擅长排列的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4   描述 小明十分聪明,而且十分擅长排列计算。比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他,在这5个数字中选出几个数字让他继续全排列,那么你就错了,他同样的很擅长。
738 0
|
机器学习/深度学习
NYOJ 96
  n-1位数 时间限制:3000 ms | 内存限制:65535 KB 难度:1   描述 已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。
498 0
NYOJ 86
  找球号(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3   描述 在某一国度里流行着一种游戏。游戏规则为:在一堆球中,每个球上都有一个整数编号i(0
788 0
NYOJ 212
  K尾相等数 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 输入一个自然数K(K>1),如果存在自然数M和N(M>N),使得K^M和K^N均大于等于1000,且他们的末尾三位数相等,则称M和N是一对“K尾相等数”。
607 0
NYOJ 128
前缀式计算 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 先说明一下什么是中缀式: 如2+(3+4)*5这种我们最常见的式子就是中缀式。 而把中缀式按运算顺序加上括号就是:(2+((3+4)*5)) 然后把运算符写到括号前面就是+(2 *( +(3 4) 5) ) 把括号去掉就是:+ 2 * + 3 4 5 最后这个式子就是该表达式的前缀表示。
770 0
|
测试技术
NYOJ 115
  城市平乱 时间限制:1000 ms | 内存限制:65535 KB 难度:4   描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市。 他在用这N个部队维护着M个城市的治安,这M个城市分别编号从1到M。
724 0

热门文章

最新文章