#include<stdio.h>
#define max 32769//32767
int main (){
int n=1;
while (1){
int d_max=1;
int num=0,max_s=1;
int a[max];//存储数组
int b[max];//记录最长
scanf("%d",&a[1]);
if(a[1]==-1)break;
for(int i=2;i<max;i++){
scanf("%d",&a[i]);
if(a[i]==-1){num=i-1;break;}
}
b[1]=1;
for(int j=2;j<=num;j++){
d_max=1;
for(int h=1;h<j;h++){
if(a[j]<a[j-h]){
if(d_max<=b[j-h]+1)
d_max=b[j-h]+1;}
}
b[j]=d_max;
}
for(int i=1;i<=num;i++){
if(max_s<b[i])max_s=b[i];
}
printf("Test #%d:\n",n);
printf(" maximum possible interceptions: %d\n\n",max_s);//注意输出格式两个\n\n
n++;
}
return 0;
}
#define max 32769//32767
int main (){
int n=1;
while (1){
int d_max=1;
int num=0,max_s=1;
int a[max];//存储数组
int b[max];//记录最长
scanf("%d",&a[1]);
if(a[1]==-1)break;
for(int i=2;i<max;i++){
scanf("%d",&a[i]);
if(a[i]==-1){num=i-1;break;}
}
b[1]=1;
for(int j=2;j<=num;j++){
d_max=1;
for(int h=1;h<j;h++){
if(a[j]<a[j-h]){
if(d_max<=b[j-h]+1)
d_max=b[j-h]+1;}
}
b[j]=d_max;
}
for(int i=1;i<=num;i++){
if(max_s<b[i])max_s=b[i];
}
printf("Test #%d:\n",n);
printf(" maximum possible interceptions: %d\n\n",max_s);//注意输出格式两个\n\n
n++;
}
return 0;
}
1191

被折叠的 条评论
为什么被折叠?



