hdu1257(最少拦截系统 )
生活随笔
收集整理的這篇文章主要介紹了
hdu1257(最少拦截系统 )
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
解釋:當(dāng)炮彈一個接一個的從空中飛來時,系統(tǒng)可以攔住比它攔住前一個高度低的炮,比前一個高的不攔,給第二個系統(tǒng)攔;
?
Problem Description 某國為了防御敵國的導(dǎo)彈襲擊,發(fā)展出一種導(dǎo)彈攔截系統(tǒng).但是這種導(dǎo)彈攔截系統(tǒng)有一個缺陷:雖然它的第一發(fā)炮彈能夠到達(dá)任意的高度,但是以后每一發(fā)炮彈都不能超過前一發(fā)的高度.某天,雷達(dá)捕捉到敵國的導(dǎo)彈來襲.由于該系統(tǒng)還在試用階段,所以只有一套系統(tǒng),因此有可能不能攔截所有的導(dǎo)彈.怎么辦呢?多搞幾套系統(tǒng)唄!你說說倒蠻容易,成本呢?成本是個大問題啊.所以俺就到這里來求救了,請幫助計算一下最少需要多少套攔截系統(tǒng).
?
Input 輸入若干組數(shù)據(jù).每組數(shù)據(jù)包括:導(dǎo)彈總個數(shù)(正整數(shù)),導(dǎo)彈依此飛來的高度(雷達(dá)給出的高度數(shù)據(jù)是不大于30000的正整數(shù),用空格分隔)?
Output 對應(yīng)每組數(shù)據(jù)輸出攔截所有導(dǎo)彈最少要配備多少套這種導(dǎo)彈攔截系統(tǒng).?
Sample Input 8 389 207 155 300 299 170 158 65?
Sample Output 2 #include<iostream> using namespace std; int main() {int n,i,j,a[10000],k,h;while(cin>>n){k=0;for(i=0;i<n;i++)cin>>a[i];for(i=0;i<n;i++)if(a[i]!=-1){h=a[i]; k++;for(j=i+1;j<n;j++)if(a[j]!=-1&&h>=a[j]){h=a[j];a[j]=-1;}}cout<<k<<endl;} }?
?
轉(zhuǎn)載于:https://www.cnblogs.com/dyllove98/p/3201130.html
總結(jié)
以上是生活随笔為你收集整理的hdu1257(最少拦截系统 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vDSP加速的应用
- 下一篇: .NET下安装卸载WindowsServ