陶陶摘苹果(升级版)(洛谷-P1478)
生活随笔
收集整理的這篇文章主要介紹了
陶陶摘苹果(升级版)(洛谷-P1478)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目描述
又是一年秋季時,陶陶家的蘋果樹結(jié)了n個果子。陶陶又跑去摘蘋果,這次她有一個a公分的椅子。當(dāng)他手夠不著時,他會站到椅子上再試試。
這次與NOIp2005普及組第一題不同的是:陶陶之前搬凳子,力氣只剩下s了。當(dāng)然,每次摘蘋果時都要用一定的力氣。陶陶想知道在s<0之前最多能摘到多少個蘋果。
現(xiàn)在已知n個蘋果到達(dá)地上的高度xi,椅子的高度a,陶陶手伸直的最大長度b,陶陶所剩的力氣s,陶陶摘一個蘋果需要的力氣yi,求陶陶最多能摘到多少個蘋果。
輸入輸出格式
輸入格式:
第1行:兩個數(shù) 蘋果數(shù)n,力氣s。
第2行:兩個數(shù) 椅子的高度a,陶陶手伸直的最大長度b。
第3行~第3+n-1行:每行兩個數(shù) 蘋果高度xi,摘這個蘋果需要的力氣yi。
輸出格式:
只有一個整數(shù),表示陶陶最多能摘到的蘋果數(shù)。
輸入輸出樣例
輸入樣例#1:?
8 15
20 130
120 3
150 2
110 7
180 1
50 8
200 0
140 3
120 2
輸出樣例#1:?
4
源代碼
#include<iostream> using namespace std; int main() {int n,strength;int chair,arm;int apple[5000][2];int i,j,temp,total=0;cin>>n>>strength;//輸入蘋果數(shù)與力氣cin>>chair>>arm;//輸入椅高與手臂最大長度for(i=0;i<n;i++)//輸入蘋果高度與所需力氣for(j=0;j<2;j++)cin>>apple[i][j];for(i=0;i<n-1;i++)//按照所需力氣將蘋果從小到大進(jìn)行排序{for(j=0;j<n-i-1;j++){if(apple[j][1]>apple[j+1][1]){temp=apple[j][0];apple[j][0]=apple[j+1][0];apple[j+1][0]=temp;temp=apple[j][1];apple[j][1]=apple[j+1][1];apple[j+1][1]=temp; }}}for(i=0;i<n;i++)//對每個蘋果進(jìn)行遍歷{if( (chair+arm)>=apple[i][0] && strength>=0 && strength>=apple[i][1])//蘋果高度在范圍內(nèi),力氣足夠時{ total++;//數(shù)量+1strength-=apple[i][1];//總力氣減去摘蘋果的力氣 }} cout<<total<<endl;return 0; }?
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的陶陶摘苹果(升级版)(洛谷-P1478)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通C++语言——1105:
- 下一篇: 信息学奥赛C++语言: 开关灯1