求助..

P1478 陶陶摘苹果(升级版)

Xiang @ 2019-02-11 21:22:34

#include<bits/stdc++.h>
#define FOR(i,l,r) for(int i=1;i<=r;i++) 
using namespace std;

int main(){
int n,s,a,b,t=0; cin>>n>>s;cin>>a>>b;
int xi[n+10],yi[n+10];
for(int i=1;i<=n;i++) {cin>>xi[i]>>yi[i];}
sort(yi+1,yi+n);
for(int m=1;m<=n;m++)
{ 
if(s<yi[m]&&t!=0) {cout<<t-1;return 0;}
else if(a+b>=xi[m]) {t=t+1;s-=yi[m];} 
else continue;
}
cout<<t;
return 0;
}

by t162 @ 2019-02-11 21:24:39

大佬您的FOR是用来干嘛的QwQ


by Xiang @ 2019-02-11 21:27:02

@Bambusoideae orz 看一个dalao弄的但怕调的时候麻烦...


by Xiang @ 2019-02-11 21:29:04

@Bambusoideae 大佬帮看看呗QAQ


by cindy2007 @ 2019-02-11 21:35:31

@Xiang 您sort是从1开始的吧,后面是yi+n+1


by t162 @ 2019-02-11 21:35:38

@Xiang 并不是剩下力气小于当前苹果的所需力气就要结束程序的。


by t162 @ 2019-02-11 21:35:56

万一后面还可以摘呢?


by cindy2007 @ 2019-02-11 21:42:59

而且您for里的判断是基于高度能摘到的情况下,才可以执行的。

也就是:

if (高度够)
{
    if (力气够)
    {
        t++;
        剩余力气减去用的力气
    }
}

by Xiang @ 2019-02-11 21:50:09

@cindy2007 嗯嗯!谢谢~


by Xiang @ 2019-02-11 21:50:29

@Bambusoideae 谢谢谢谢!


by Xiang @ 2019-02-11 21:51:05

好像排完序xi和yi序号对不上...我再改改


| 下一页