日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

拦截导弹(最长递增子序列)

發布時間:2025/5/22 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 拦截导弹(最长递增子序列) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述:某國為了防御敵國的導彈襲擊,開發出一種導彈攔截系統。但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以后每一發炮彈都不能高于前一發的高度。某天,雷達捕捉到敵國的導彈來襲,并觀測到導彈依次飛來的高度,請計算這套系統最多能攔截多少導彈。攔截來襲導彈時,必須按來襲導彈襲擊的時間順序,不允許先攔截后面的導彈,再攔截前面的導彈。?輸入:每組輸入有兩行,第一行,輸入雷達捕捉到的敵國導彈的數量k(k<=25),第二行,輸入k個正整數,表示k枚導彈的高度,按來襲導彈的襲擊時間順序給出,以空格分隔。輸出:每組輸出只有一行,包含一個整數,表示最多能攔截多少枚導彈。樣例輸入:8300 207 155 300 299 170 158 65樣例輸出:6考查最長遞增子序列,算是比較簡單的. 1 #include <cstdio> 2 3 int F[26]; 4 int buf[26]; 5 int main(){ 6 int K, tmp; 7 int max; 8 while(~scanf("%d", &K)){ 9 max = 1; 10 for(int i = 1; i <= K; i++){ 11 scanf("%d", &tmp); 12 buf[i] = tmp; 13 F[i] = 1; 14 for(int j = 1; j < i; j++){ 15 if(buf[i] <= buf[j] && F[i] < F[j] + 1) 16 F[i] = F[j] + 1; 17 } 18 if(max < F[i]) 19 max = F[i]; 20 } 21 printf("%d\n", max); 22 } 23 return 0; 24 }

?

轉載于:https://www.cnblogs.com/babyron/archive/2013/02/20/2919020.html

總結

以上是生活随笔為你收集整理的拦截导弹(最长递增子序列)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。