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

 

 

 

 

 

目录
相关文章
|
7月前
|
算法
NYOJ-448-寻找最大数
NYOJ-448-寻找最大数
31 0
|
测试技术
NYOJ 541
  最强DE 战斗力 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 春秋战国时期,赵国地大物博,资源非常丰富,人民安居乐业。但许多国家对它虎视眈眈,准备联合起来对赵国发起一场战争。
773 0
|
JavaScript
NYOJ&#160;17
时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf,长度为4 输入 第一行一个整数0 随后的n行,每行有一个字符串,该字符串的长度不会超过10000 输出 输出字符串的最长递增子序列的长度 样例输入 3 aaa ababc abklmncdefg 样例输出 1 3 7 题目很经典,学习一下吧。
672 0
NYOJ 283
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 /* 9 bool cmp(char *a,char *b) 10...
489 0
|
人工智能
NYOJ 55
  懒省事的小明 时间限制:3000 ms | 内存限制:65535 KB 难度:3   描述 小明很想吃果子,正好果园果子熟了。在果园里,小明已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。
955 0
|
网络协议
NYOJ 8
  一种排序 时间限制:3000 ms | 内存限制:65535 KB 难度:3   描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编号、长、宽都是整数;现在要求按照一下方式排序(默认排序规则都是从小到大);1.
794 0
|
人工智能
NYOJ 461
  Fibonacci数列(四) 时间限制:1000 ms | 内存限制:65535 KB 难度:4   描述 数学神童小明终于把0到100000000的Fibonacci数列(f[0]=0,f[1]=1;f[i] = f[i-1]+f[i-2](i>=2))的值全部给背了下来。
724 0
NYOJ 113
1 #include 2 #include 3 using namespace std; 4 5 int main() 6 { 7 int pos=-1; 8 string s; 9 while(getline(cin,s)) 10 { 11 while((pos=s.
682 0
NYOJ 93
  汉诺塔(三) 时间限制:3000 ms | 内存限制:65535 KB 难度:3   描述 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。
601 0