?? 導彈問題.cpp
字號:
#include"stdio.h"
void main()
{
int i,n,j;
int maxman=0,first=1;
int max[4000],h[4000],next[4000]={0};
printf("請輸入導彈的個數\n");
scanf("%d",&n);
printf("請分別輸入導彈的高度\n");
for(i=1;i<=n;i++)
scanf("%d",&h[i]);
printf("輸出被攔截導彈的個數\n");
for (i=n;i>0;i--)
{
max[i]=1;next[i]=0;
if (i!=n)
{
for(j=i+1;j<=n;j++)
{
if (h[i]>=h[j])
{
if (max[i]<max[j]+1)
{
max[i]=max[j]+1;
next[i]=j;
}
}
}
}
if (max[i]>maxman)
{
maxman=max[i];
first=i;
}
}
printf("%d\n",maxman);
printf("輸出序列號\n");
while(first!=0)
{
for(i=0;i<=n;i++)
{
if(first!=0)
{
printf("%d\n",first);
first=next[first];
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -