贪心4--拦截导弹
貪心4--攔截導(dǎo)彈
一、心得
?
二、題目和分析
某國(guó)為了防御敵國(guó)的導(dǎo)彈襲擊,開(kāi)發(fā)出一種導(dǎo)彈攔截系統(tǒng)。但是這種導(dǎo)彈攔截系統(tǒng)有一個(gè)缺陷:雖然它的第一發(fā)炮彈能夠到達(dá)任意的高度,但是以后每一發(fā)炮彈都不能高于前一發(fā)的高度。某天,雷達(dá)捕捉到敵國(guó)的導(dǎo)彈來(lái)襲,并觀測(cè)到導(dǎo)彈依次飛來(lái)的高度,請(qǐng)計(jì)算這套系統(tǒng)最多能攔截多少導(dǎo)彈。攔截來(lái)襲導(dǎo)彈時(shí),必須按來(lái)襲導(dǎo)彈襲擊的時(shí)間順序,不允許先攔截后面的導(dǎo)彈,再攔截前面的導(dǎo)彈。
求系統(tǒng)數(shù)。
三、代碼和結(jié)果
1 #include <iostream> 2 using namespace std; 3 int main(){ 4 int n; 5 int a[100]; 6 cin>>n; 7 for(int i=1;i<=n;i++){ 8 cin>>a[i]; 9 } 10 11 //在一堆人中找符合條件的 12 13 int sys=0; 14 int high[100]={0}; 15 16 for(int i=1;i<=n;i++){ 17 //去找系統(tǒng) 18 int p=0; 19 //在系統(tǒng)中找最小 20 //找最小這個(gè)需要仔細(xì)斟酌一下 21 //在一隊(duì)數(shù)中找最小的怎么做 22 for(int j=1;j<=sys;j++){ 23 if(high[j]>=a[i]){ 24 //在一隊(duì)數(shù)中找最小的怎么做 25 if(p==0){ 26 p=j; 27 high[j]=a[i]; 28 } 29 else{ 30 if(high[p]<high[j]){ 31 p=j; 32 high[j]=a[i]; 33 } 34 } 35 } 36 } 37 if(p==0){ 38 sys++; 39 high[sys]=a[i]; 40 } 41 } 42 cout<<sys<<endl; 43 44 return 0; 45 }?
轉(zhuǎn)載于:https://www.cnblogs.com/Renyi-Fan/p/7135606.html
總結(jié)
- 上一篇: sql 某字段存储另一个表的多个id值并
- 下一篇: SEO优化方案总结