冬天的海獭 @ 2018-05-12 10:09:35
#include<stdio.h>
int main()
{
int x[5000],y[5000];
int n,s,a,b,i,sum=0;
scanf("%d%d%d%d",&n,&s,&a,&b);
for(i=0;i<n;i++)
scanf("%d%d",&x[i],&y[i]);
for(i=0;i<=n-1;i++){
if(a+b>=x[i]&&s>=y[i])
sum++,s=s-y[i];
}
printf("%d",sum);
return 0;
}
这段代码是按不减少来算的,但是只有20分??把第二个循环sum++那改成;就是按减少来算了但是答案不对??求解答
by 温情 @ 2018-05-12 18:08:02
设身处地想想,你站在凳子上摘苹果发现你摘不到的,你还会花力气去摘吗。
我觉得你可能把问题想的太复杂了。
这道题就是简单的贪心,在摘的到的苹果里排序,尽可能的少用点力气摘,就行了。
by maple666 @ 2018-06-03 19:38:16
用结构体模拟一下就行了