为什么全wa,求dalao解释

P1478 陶陶摘苹果(升级版)

用结构体写一下试试 这是我代码,仅供参考 ```cpp #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 Arcturus1350 @ 2018-01-10 21:32:05


@[cn:苏卿念](/space/show?uid=57699) 我这种蒟蒻对struct还不太熟,毕竟刚转c++,请问dalao能不能看看我的程序哪错了?
by DFSlover @ 2018-01-10 21:38:59


知道哪里错了
by Arcturus1350 @ 2018-01-10 21:52:54


把第20行的 ```cpp int t; ``` 要不改为 ```cpp int t=0; ``` 要不就删去,在 ```cpp int main() ``` 前加 ```cpp int t; ``` 原因就是要是在主函数内定义变量的话不赋初值会死的很惨的。因为这样系统会直接随机给变量赋值 你的代码改完了就是这样: ```cpp #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 Arcturus1350 @ 2018-01-10 21:56:12


#我发现这些简单的题目大家抢着答复。。。。。。而难的问题就一个人也没有。。。。。。
by si_zhong @ 2018-01-10 22:25:27


##听说你是刚转C++
by si_zhong @ 2018-01-10 22:27:33


@[cn:苏卿念](/space/show?uid=57699) 2333...摘个苹果不至于用结构和重载运算符吧。
by 温情 @ 2018-01-11 09:46:58


@[chi\_chi](/space/show?uid=31728) 不然呢,之前用p啊
by DFSlover @ 2018-01-11 21:31:02


@[cn:苏卿念](/space/show?uid=57699) 谢谢,就是这里错了
by DFSlover @ 2018-01-11 21:34:32


@[蒟蒻jlb](/space/show?uid=17035) 你的p我见识过了。。。。。。够厉害了。。。。。。
by si_zhong @ 2018-01-11 21:36:19


| 下一页