当前位置:   article > 正文

RoboCom-CAIP 2021 本科组复赛_2021年robocom复赛题

2021年robocom复赛题

https://pintia.cn/problem-sets/1449304600741462016/problems/1449304670132027392


7-1 冒险者分队

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. typedef pair<int,int> PII;
  5. const int N=1e5+5;
  6. ll w[5];
  7. ll solve(){
  8. ll a,b,c,ta,tb,tc;cin>>a>>b>>c>>ta>>tb>>tc;
  9. w[0]=a-ta;w[1]=b-tb;w[2]=c-tc;
  10. if(w[0]+w[1]+w[2]!=0) return -1;
  11. if(w[0]%20!=0||w[1]%20!=0||w[2]%20!=0) return -1;
  12. w[0]/=20;w[1]/=20;w[2]/=20;
  13. int mod=(w[0]%3+3)%3;
  14. for(int i=0;i<3;i++)
  15. if((w[i]%3+3)%3!=mod) return -1;
  16. int f=0;
  17. for(int i=0;i<3;i++) if(w[i]>0) f++;
  18. if(f>1) for(int i=0;i<3;i++) w[i]=-w[i];
  19. // - - + 的形式
  20. sort(w,w+3);
  21. int cnt=0;
  22. cnt+=-w[1];
  23. w[2]-=cnt*2;
  24. //+2 -1 -1 和 +1 +1 -2
  25. //组合出 +3 0 +3
  26. cnt+=w[2]/3*2;
  27. return cnt;
  28. }
  29. int main(){
  30. int t;cin>>t;
  31. while(t--){
  32. ll res=solve();
  33. cout<<((res==-1)?-1:res)<<endl;
  34. }
  35. }

7-2 拼题A打卡奖励

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. typedef pair<int,int> PII;
  5. const int N=1e3+5,M=3e4;
  6. int n,m;
  7. int w[N],v[N];
  8. int f[M+5];
  9. int res;
  10. int main(){
  11. cin>>n>>m;
  12. memset(f,0x3f,sizeof f);
  13. f[0]=0;
  14. for(int i=1;i<=n;i++) cin>>w[i];//时间
  15. for(int i=1;i<=n;i++) cin>>v[i];//奖励
  16. for(int i=1;i<=n;i++)
  17. for(int j=M;j>=v[i];j--)
  18. f[j]=min(f[j],f[j-v[i]]+w[i]);
  19. for(int i=0;i<=M;i++)
  20. if(f[i]<=m) res=i;
  21. cout<<res;
  22. }

后面不会了。。随缘补吧

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/617113
推荐阅读
相关标签
  

闽ICP备14008679号