洛谷 P1478 陶陶摘蘋果(升級版)
1. Problem Description
又是一年秋季時,陶陶家的蘋果樹結了n個果子。陶陶又跑去摘蘋果,這次她有一個a公分的椅子。當他手夠不著時,他會站到椅子上再試試。
這次與NOIp2005普及組第一題不同的是:陶陶之前搬凳子,力氣只剩下s了。當然,每次摘蘋果時都要用一定的力氣。陶陶想知道在s<0之前最多能摘到多少個蘋果。
現在已知n個蘋果到達地上的高度xi,椅子的高度a,陶陶手伸直的最大長度b,陶陶所剩的力氣s,陶陶摘一個蘋果需要的力氣yi,求陶陶最多能摘到多少個蘋果。
2. Input
第1行:兩個數 蘋果數n,力氣s。
第2行:兩個數 椅子的高度a,陶陶手伸直的最大長度b。
第3行~第3+n-1行:每行兩個數 蘋果高度xi,摘這個蘋果需要的力氣yi。
3. Output
只有一個整數,表示陶陶最多能摘到的蘋果數。
輸入樣例#1:
8 15
20 130
120 3
150 2
110 7
180 1
50 8
200 0
140 3
120 2
輸出樣例#1:
4
4. 詳解
思路:這題可以用貪心 以用力氣最小的排序就OK
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
const int M=23333;
struct node{//結構體
int l;
int y;
}a[M];
int n,s,b,m,sum;
bool cmp(node a,node b){//比較函式
if(a.y<b.y)return true;
return false;
}
void qsort(int l,int h){//快排
int i=l,j=h;
node mid=a[(l+h)/2];
while(i<=j){
while(cmp(a[i],mid))i++;
while (cmp(mid,a[j]))j--;
if(i<=j){
swap(a[i],a[j]);
i++;j--;
}
}
if(i<h)qsort(i,h);
if(l<j)qsort(l,j);
}
void init(){
cin>>n>>s>>m>>b;
for(int i=1;i<=n;i++){
scanf("%d%d",&a[i].l,&a[i].y);
}
qsort(1,n);
/* for(int i=1;i<=n;i++){
cout<<a[i].l<<" "<<a[i].y<<endl;
}*/
}
void solve(){
m+=b;
for(int i=1;i<=n;i++){
if(s-a[i].y<0)break;
else if(m>=a[i].l){
sum++;
s-=a[i].y;
}
else continue;
}
}
void out(){
cout<<sum;
}
int main(){
//freopen("P1478.in","r",stdin);
init();
solve();
out();
//fclose(stdin);
return 0;
}
相關推薦
P1478 陶陶摘蘋果(升級版)洛谷 (c++)(貪心、排序)
space cstring 貪心 algo 結構體排序 () pac sin color 由題意分析可知,每次摘得蘋果的條件是椅子的高度加手伸直的最大長度大於等於蘋果的高度並且剩余力氣值必須大於等於所摘蘋果需要的力氣值,每摘一個蘋果力氣值相應減少,問題則是在此條件下求解能摘
洛谷p1478-陶陶摘蘋果(升級版)
題目描述 又是一年秋季時,陶陶家的蘋果樹結了n個果子。陶陶又跑去摘蘋果,這次她有一個a公分的椅子。當他手夠不著時,他會站到椅子上再試試。 這次與NOIp2005普及組第一題不同的是:陶陶之前搬凳子,力氣只剩下s了。當然,每次摘蘋果時都要用一定的力氣。陶陶想知道在s<0之前最
P1478 陶陶摘蘋果(升級版)洛谷 (c++)(貪心、排序)
由題意分析可知,每次摘得蘋果的條件是椅子的高度加手伸直的最大長度大於等於蘋果的高度並且剩餘力氣值必須大於等於所摘蘋果需要的力氣值,每摘一個蘋果力氣值相應減少,問題則是在此條件下求解能摘到的最多蘋果數。我們可以以貪心的思想考慮,每次在符合高度的條件下摘取所需要最小力氣的蘋果,由
洛谷 P1478 陶陶摘蘋果(升級版)
1. Problem Description 又是一年秋季時,陶陶家的蘋果樹結了n個果子。陶陶又跑去摘蘋果,這次她有一個a公分的椅子。當他手夠不著時,他會站到椅子上再試試。 這次與NOIp2005普及組第一題不同的是:陶陶之前搬凳子,力氣只剩下s了。當然,每
P1478 陶陶摘蘋果(升級版)
#include<bits/stdc++.h> using namespace std; const int MAXN=5010; struct Node{ int height; int cost; }node[MAXN]; bool cmp(Node a
C語言 P1478 陶陶摘蘋果(升級版)
P1478 陶陶摘蘋果(升級版) [題目連結] (https://www.luogu.org/problemnew/show/P1478) 題目描述 又是一年秋季時,陶陶家的蘋果樹結了n個果子。陶陶又跑去摘蘋果,這次她有一個a公分的椅子。當他手夠不著時,他會站到椅子上再試試。 這次與
【模擬】洛谷 P1534 不高興的津津(升級版)
題目描述 津津上初中了。媽媽認為津津應該更加用功學習,所以津津除了上學之外,還要參加媽媽為她報名的各科複習班。另外每天媽媽還會送她去學習朗誦、舞蹈和鋼琴。但是津津如果一天上課超過八個小時就會不高興,而且上得越久就會越不高興。 這次與NOIp2004普及組第一
洛谷 P2421 A-B數對(增強版)
clas pla back www pro fff 分答 left ins P2421 A-B數對(增強版) 題目背景 woshiren在洛谷刷題,感覺第一題:求兩數的和(A+B Problem)太無聊了,於是增加了一題:A-B Pro
洛谷——P2421 A-B數對(增強版)
++ 可能 復制 fin radi 輸入輸出格式 個數 -c () 題目背景 woshiren在洛谷刷題,感覺第一題:求兩數的和(A+B Problem)太無聊了,於是增加了一題:A-B Problem,難倒了一群小朋友,哈哈。 題目描述 給出N 個從小到大排好序的整
洛谷 P1618 三連擊(升級版)
span main 比例 pre color clu 輸出 std mut 題目描述 將1,2,…,9共9個數分成三組,分別組成三個三位數,且使這三個三位數的比例是A:B:C,試求出所有滿足條件的三個三位數,若無解,輸出“No!!!”
洛谷P2532 [AHOI2012]樹屋階梯(Catalan數)
names images res main truct const () sizeof -1 P2532 [AHOI2012]樹屋階梯 題目描述 輸入輸出格式 輸入格式: 一個正整數N(1<=N<=50
洛谷P3200 [HNOI2009]有趣的數列(Catalan數)
整數 取模 排列 right 可能 滿足 奇數 cat using P3200 [HNOI2009]有趣的數列 題目描述 我們稱一個長度為2n的數列是有趣的,當且僅當該數列滿足以下三個條件: (1)它是從1到2n共2n個整數的一個排列{
【洛谷】2822 組合數問題(遞推)
return bottom 初始化 list main sca set 如果 lld 題目描述 組合數C?n?m??表示的是從n個物品中選出m個物品的方案數。舉個例子,從(1,2,3) 三個物品中選擇兩個物品可以有(1,2),(1,3),(2,3)這三種選擇方法。根據組合
洛谷——P1579 哥德巴赫猜想(升級版)
驗證 一個空格 i++ -s define while char pac algorithm P1579 哥德巴赫猜想(升級版) 題目背景 1742年6月7日哥德巴赫寫信給當時的大數學家歐拉,正式提出了以下的猜想:任何一個大於9的奇數都可以表示成3個質數之和。質數是指除
洛谷 P1579 哥德巴赫猜想(升級版)
== bar spa class badge bsp span lba -c P1579 哥德巴赫猜想(升級版) 題目背景 1742年6月7日哥德巴赫寫信給當時的大數學家歐拉,正式提出了以下的猜想:任何一個大於9的奇數都可以表示成3個質數
洛谷 P1581 A+B Problem(升級版)
就是 reg 一個 ack left void 輸出 思路 bad P1581 A+B Problem(升級版) 題目背景 小明這在寫作業,其中有一道A+B Problem ,他想啊想啊想,就是想不出來,於是就找到了會編程的你......
洛谷P3434 [POI2006]KRA-The Disks(線段樹)
def spa uil ref post 直觀 char getchar ++i 洛谷題目傳送門 \(O(n)\)的正解算法對我這個小蒟蒻真的還有點思維難度。洛谷題解裏都講得很好。 考試的時候一看到300000就直接去想各種帶log的做法了,反正不怕T。。。。。。 我永遠只
洛谷P3628 [APIO2010]特別行動隊(斜率優化)
new open 同類項 freopen -- www. pro ios check 傳送門 先寫出轉移方程$$dp[i]=max\{dp[j]+a*(sum[i]-sum[j])^2+b*(sum[i]-sum[j])+c\}$$ 假設$j$比$k$更優,則有$
題解——洛谷P2734 遊戲A Game 題解(區間DP)
表示 training 代碼 clas rain region str 所有 sample 題面 題目背景 有如下一個雙人遊戲:N(2 <= N <= 100)個正整數的序列放在一個遊戲平臺上,遊戲由玩家1開始,兩人輪流從序列的任意一端取一個數,取數後該數字
P1579 哥德巴赫猜想(升級版) <洛谷> (C++)(篩法選素數)
時間 turn std str ems main math mem num 兩層循環找到其中兩個值,最後一個值由輸入的num減去他們的和可得到,若都是質數則可以輸出 篩法選素數可稍微優化判斷素數的時間 代碼如下 #include<stdio.h> #inclu