40分蒟蒻求助

P1478 陶陶摘苹果(升级版)

我也这样写,也是错
by liudabai @ 2021-12-30 13:28:17


好了,我又对了. 好尴尬,我错的离谱
by liudabai @ 2021-12-30 13:32:44


我用这个代码试了一下,才二十分啊
by liudabai @ 2021-12-30 13:34:26


用结构体简单一点
by liudabai @ 2021-12-30 13:36:46


``` #include<stdio.h> #include<algorithm> using namespace std; struct node{ int x,y; }m[5003]; bool cmp(node a,node b){ if(a.y==b.y) return a.x<b.x; else return a.y<b.y; } int main(){ int n,s; int a,b; scanf("%d%d",&n,&s); scanf("%d%d",&a,&b); a+=b; for(int j=1;j<=n;j++){ scanf("%d%d",&m[j].x,&m[j].y); } sort(m+1,m+n+1,cmp); int ans=0,mu=0;//mu是当前的力气 for(int j=1;j<=n&&mu<=s;j++){ if((mu+m[j].y)>s) break; if(a>=m[j].x){ ans++; mu+=m[j].y; } } printf("%d\n",ans); return 0; } ``` 我的代码应该比较好理解吧~
by MrCR7 @ 2022-01-15 21:52:50


我的代码应该很好理解 ``` #include<bits/stdc++.h> using namespace std; long long x[10001],y[10001],s,a,b,n,i,m,p=0; int main(){ cin>>n>>s>>a>>b; for(i=1;i<=n;i++){ cin>>x[i]>>y[i]; } for(i=1;i<=n;i++){ for(m=1;m<=i-1;m++){ if(y[i]<y[m]){ swap(y[i],y[m]); swap(x[i],x[m]); } } } for(i=1;i<=n;i++){ if(x[i]<=a+b){ if(y[i]<=s){ s-=y[i]; p++; } } } cout<<p; return 0; } ```
by AiGeeeeeeee @ 2022-01-21 15:41:52


|