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 你的代码我看不懂,麻烦你写点注释