YTU_3137: 动态规划基础题目之拦截导弹
生活随笔
收集整理的這篇文章主要介紹了
YTU_3137: 动态规划基础题目之拦截导弹
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
某國為了防御敵國的導彈襲擊,開發出一種導彈攔截系統。但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以后每一發炮彈都不能高于前一發的高度。某天,雷達捕捉到敵國的導彈來襲,并觀測到導彈依次飛來的高度,請計算這套系統最多能攔截多少導彈。攔截來襲導彈時,必須按來襲導彈襲擊的時間順序,不允許先攔截后面的導彈,再攔截前面的導彈。
Input
輸入有兩行,
第一行,輸入雷達捕捉到的敵國導彈的數量k(k<=25),
第二行,輸入k個正整數,表示k枚導彈的高度,按來襲導彈的襲擊時間順序給出,以空格分隔。
Output
輸出只有一行,包含一個整數,表示最多能攔截多少枚導彈。
Sample Input
8300 207 155 300 299 170 158 65Sample Output
6 #include <iostream> #include <algorithm> using namespace std; int main() {int n,a[26],Max[26];cin>>n;for(int i=0;i<n;i++){cin>>a[i];Max[i]=1;}for(int i=n-2;i>=0;--i)for(int j=n-1;j>i;--j)if(a[i]>=a[j])Max[i]=max(Max[i],Max[j]+1);cout<<*max_element(Max,Max+n)<<endl;return 0; }總結
以上是生活随笔為你收集整理的YTU_3137: 动态规划基础题目之拦截导弹的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU_1003 Max Sum
- 下一篇: SDUT_2075 最少拦截系统