为啥样例能过wa声一片?

P1478 陶陶摘苹果(升级版)

CMZ15079761339 @ 2024-09-28 09:13:31

我哪里错了???大佬求解!!!

#include <iostream>
using namespace std;
int main(){//懂得都懂 
    int n,s,a,b,x[10000],y[10000],num=0;
    cin>>n>>s;//n代表苹果总数,s代表陶陶搬凳子剩余的力气 
    cin>>a>>b;//a代表凳子的高度,b代表陶陶手臂的长度
    for(int i=0;i<n;i++){
        cin>>x[i]>>y[i];//x[i]代表这个苹果的高度,y[i]代表摘这个苹果的所需的力气 
        if(s>0){//判断陶陶的力气是否为0 
            if(a+b>=x[i]){//判断是否能摘到苹果 
                num++;//如果是,苹果数量+1 
                s-=y[i];//并且减去相应的力气 
            }
        }
    } 
    cout<<num;
    return 0;//养成好习惯 
}

20分求解!!!


by kaoxiangnb666 @ 2024-09-28 15:39:05

@zhouzihann struct也可以吧,但是我觉得给新手讲还是直接排序赋值比较好


by zhouzihann @ 2024-09-28 17:04:13

@kaoxiangnb666 可以用冒泡排序 (bushi


by CMZ15079761339 @ 2024-09-29 18:11:44

啊……我是用dev-c++的,有点听不懂,能不能晒一下代码?各位大佬?


by zhouzihann @ 2024-10-01 14:36:16


#include<bits/stdc++.h>
using namespace std;
const int maxn=5010;
struct node{
    int x;
    int y;
} p[maxn];
bool cmp(node c,node d)
{
    return c.y<d.y;
}
int n,s,ans=0;
int a,b,reach;
int main()
{
    cin>>n>>s;
    cin>>a>>b;
    reach=a+b;
    for(int i=1;i<=n;i++)
    {
        cin>>p[i].x>>p[i].y;
    }
    sort(p+1,p+1+n,cmp);
    for(int i=1;i<=n;i++)
    {
        if(reach>=p[i].x&&s>=p[i].y)
        {
            ans++;
            s-=p[i].y;
        }
    }
    cout<<ans;
    return 0;
}
~~你要的代码~~

by CMZ15079761339 @ 2024-10-05 10:18:57

@zhouzihann 你的代码我看不懂,麻烦你写点注释


上一页 |