DFSlover @ 2018-01-10 21:20:35
#include<cstdio>
using namespace std;
int x[5001],y[5001];
int main()
{
int n,m,a,b;
scanf("%d%d%d%d",&n,&m,&a,&b);
for(int i=1;i<=n;++i) scanf("%d%d",&x[i],&y[i]);
for(int i=1;i<=n-1;++i)
for(int j=i+1;j<=n;++j)
if(y[i]>y[j])
{
int k=y[i];
y[i]=y[j];
y[j]=k;
k=x[i];
x[i]=x[j];
x[j]=k;
}
int t;
for(int i=1;i<=n;++i)
if((a+b>=x[i])&&(m-y[i]>=0))
{
t++;
m-=y[i];
}
printf("%d",t);
return 0;
}
by Arcturus1350 @ 2018-01-10 21:32:05
用结构体写一下试试
这是我代码,仅供参考
#include<bits/stdc++.h>
using namespace std;
struct data{
int y1;
int x1;
friend bool operator <(data q,data p){
return q.y1<p.y1;
}
}q[500000];
int a,b,n,s,max=-1,sum;
int main()
{
cin>>n>>s;
cin>>a>>b;
b+=a;sum=s;
for(int i=0;i<n;i++)
{
cin>>q[i].x1>>q[i].y1;
//printf("%d %d\n",q[i].x1,q[i].y1);
}
sort(q,q+n);
/* for(int i=0;i<n;i++)
{
printf("%d %d %d\n",q[i].x1,q[i].y1,i);
}*/
int i=0,j=0;
while(sum>0)
{
// printf("there %d ",i);
if(q[i].x1>b){
//printf("goto %d\n",q[i].x1);
i++;
continue;
}
sum-=q[i].y1;
//printf("%d %d %d\n",q[i].x1,i,sum);
i++;
j++;
}
if(sum<0) j--;
printf("%d",j);
return 0;
}
by DFSlover @ 2018-01-10 21:38:59
@cn:苏卿念 我这种蒟蒻对struct还不太熟,毕竟刚转c++,请问dalao能不能看看我的程序哪错了?
by Arcturus1350 @ 2018-01-10 21:52:54
知道哪里错了
by Arcturus1350 @ 2018-01-10 21:56:12
把第20行的
int t;
要不改为
int t=0;
要不就删去,在
int main()
前加
int t;
原因就是要是在主函数内定义变量的话不赋初值会死的很惨的。因为这样系统会直接随机给变量赋值
你的代码改完了就是这样:
#include<cstdio>
using namespace std;
int x[5001],y[5001];
int main()
{
int n,m,a,b;
scanf("%d%d%d%d",&n,&m,&a,&b);
for(int i=1;i<=n;++i) scanf("%d%d",&x[i],&y[i]);
for(int i=1;i<=n-1;++i)
for(int j=i+1;j<=n;++j)
if(y[i]>y[j])
{
int k=y[i];
y[i]=y[j];
y[j]=k;
k=x[i];
x[i]=x[j];
x[j]=k;
}
int t=0;
for(int i=1;i<=n;++i)
if((a+b>=x[i])&&(m-y[i]>=0))
{
t++;
m-=y[i];
}
printf("%d",t);
return 0;
}
by si_zhong @ 2018-01-10 22:25:27
by si_zhong @ 2018-01-10 22:27:33
by 温情 @ 2018-01-11 09:46:58
@cn:苏卿念 2333...摘个苹果不至于用结构和重载运算符吧。
by DFSlover @ 2018-01-11 21:31:02
@chi_chi 不然呢,之前用p啊
by DFSlover @ 2018-01-11 21:34:32
@cn:苏卿念 谢谢,就是这里错了
by si_zhong @ 2018-01-11 21:36:19
@蒟蒻jlb 你的p我见识过了。。。。。。够厉害了。。。。。。