莫名20??!!在线求助大佬!!!求救!!!

P1478 陶陶摘苹果(升级版)

@[淡泊名利](/space/show?uid=158607) 要排序
by Celestial_Scarlet @ 2019-05-19 20:24:49


把每个苹果的重量从小到大排序
by 老彩笔 @ 2019-05-19 20:55:25


```cpp #include<bits/stdc++.h> using namespace std; const int MANX=5000; int main() { //freopen("1.in","r",stdin); //freopen("1.out","w",stdout); int n,s,a,b,xi[MANX],yi[MANX],i,num=0,temp,temp1; cin>>n>>s; cin>>a>>b; for(i=0;i<n;i++) cin>>xi[i]>>yi[i]; for(i=n-1;i>=0;i--) { temp=0; temp1=0; if(xi[i]<xi[i-1]) { temp=xi[i-1]; xi[i-1]=xi[i]; xi[i]=temp; temp1=yi[i-1]; yi[i-1]=yi[i]; yi[i]=temp1; } } for(i=0;i<n;i++) { if(s<=0) break; if((a+b)>=xi[i]) num++; s-=yi[i]; } cout<<num<<endl; return 0; } ``` (无奈)依然20
by 来自地狱的喵 @ 2019-05-20 17:42:27


@[hdyzgsj](/space/show?uid=168324) @[baoyu](/space/show?uid=93465) ![](https://cdn.luogu.com.cn/upload/pic/59160.png) 重构了一遍,终于40了。。。 求挑毛病 ```cpp #include<bits/stdc++.h> using namespace std; const int MANX=5000; int main() { int n,s,a,b,xi[MANX],yi[MANX],i,temp,temp1,num=0; cin>>n>>s; cin>>a>>b; for(i=0;i<n;i++) cin>>xi[i]>>yi[i]; for(i=0;i<n;i++) { if(yi[i]>yi[i+1]) { temp=0; temp1=0; temp=yi[i+1]; yi[i+1]=yi[i]; yi[i]=temp; temp1=xi[i+1]; xi[i+1]=xi[i]; xi[i]=temp1; } } for(i=0;i<n;i++) { if(s<=0) break; if(xi[i]<=a+b) num++; s-=yi[i]; } cout<<num; return 0; } ``` 求大佬指点 (~~我要AC 555~~)
by 来自地狱的喵 @ 2019-05-21 16:59:51


用结构体再用sort排序试一下吧 ```cpp struct apple{ int h,stren; }ap[5005]; bool cmp(apple a,apple b) { return a.stren<b.stren; } ………… sort(ap+1,ap+n+1,cmp); ………… ```
by 老彩笔 @ 2019-05-21 17:23:47


@[淡泊名利](/space/show?uid=158607)
by 老彩笔 @ 2019-05-21 17:23:57


@[淡泊名利](/space/show?uid=158607) 或者用个冒泡排序 ```cpp for(int j=1;j<=n;j++) for(i=j+1;i<=n;i++) { if(yi[i]<yi[j]) { swap(yi[i],yi[j]); swap(xi[i],xi[j]); } } ``` 下面这里可能会多算 ```cpp for(i=0;i<n;i++) { if(s<=0) break; if(xi[i]<=a+b) num++; s-=yi[i]; } ``` 改成这样试一下把 ```cpp for(i=1;i<=n;i++) { if(xi[i]<=a+b&&s>=yi[i]) { num++; s-=yi[i]; } } ```
by 老彩笔 @ 2019-05-21 17:51:23


[https://www.luogu.org/recordnew/show/19244576](https://www.luogu.org/recordnew/show/19244576)
by 老彩笔 @ 2019-05-21 17:52:13


这道题可是贪心啊
by Hammmmmm @ 2019-07-17 21:04:14


|