防衛飛彈問題

2021-08-11 07:14:27 字數 1021 閱讀 3736

描述:

一種新型的防衛飛彈可截擊多個攻擊飛彈。它可以向前飛行,也可以用很快的速度向下飛行,可以毫無損傷地截擊進攻飛彈,但不可以向後或向上飛行。但有乙個缺點,儘管它發射時可以達到任意高度,但它只能截擊比它上次截擊飛彈時所處高度低或者高度相同的飛彈。現對這種新型防衛飛彈進行測試,在每一次測試中,發射一系列的測試飛彈(這些飛彈發射的間隔時間固定,飛行速度相同),該防衛飛彈所能獲得的資訊包括各進攻飛彈的高度,以及它們發射次序。現要求編一程式,求在每次測試中,該防衛飛彈最多能截擊的進攻飛彈數量,乙個飛彈能被截擊應滿足下列兩個條件之一:

a)它是該次測試中第乙個被防衛飛彈截擊的飛彈;

b)它是在上一次被截擊飛彈的發射後發射,且高度不大於上一次被截擊飛彈的高度的飛彈。

輸入:

多個測例。

每個測例第一行是乙個整數n(n

不超過100

),第二行

n個整數表示飛彈的高度(數字的順序即發射的順序)。n=0

表示輸入結束。

輸出:

每個測例在單獨的一行內輸出截擊飛彈的最大數目。

輸入樣例: 5

5 6 100 6 610

#include

#include

#include

#include

using namespace std;

int num;

int sum;

int n;

int height[10][100]=;

int qua[10][100]=;

int judge[10]=;

void peng();

int main()

else

scanf("\n");

sum=0;

peng();

num=num+1;}}

for(i=0;i

return 0;

}void peng()

if(sum}}

}judge[num]=sum+1;

}

動態規劃 防衛飛彈

描述 一種新型的防衛飛彈可截擊多個攻擊飛彈。它可以向前飛行,也可以用很快的速度向下飛行,可以毫無損傷地截擊進攻飛彈,但不可以向後或向上飛行。但有乙個缺點,儘管它發射時可以達到任意高度,但它只能截擊比它上次截擊飛彈時所處高度低或者高度相同的飛彈。現對這種新型防衛飛彈進行測試,在每一次測試中,發射一系列...

防衛飛彈 最長下降子串行

描述一種新型的防衛飛彈可截擊多個攻擊飛彈。它可以向前飛行,也可以用很快的速度向下飛行,可以毫無損傷地截擊進攻飛彈,但不可以向後或向上飛行。但有乙個缺點,儘管它發射時可以達到任意高度,但它只能截擊比它上次截擊飛彈時所處高度低或者高度相同的飛彈。現對這種新型防衛飛彈進行測試,在每一次測試中,發射一系列的...

演算法練習 NOJ 1046 防衛飛彈

時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述一種新型的防衛飛彈可截擊多個攻擊飛彈。它可以向前飛行,也可以用很快的速度向下飛行,可以毫無損傷地截擊進攻飛彈,但不可以向後或向上飛行。但有乙個缺點,儘管它發射時可以達到任意高度,但它只能截擊比它上次截擊飛彈時所處高度低或者高度相...