acgo题库
  • 首页
  • 题库
  • 学习
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情提交记录(0)
  • 第一!(学完背包练练手,结果一遍过)

    #include<bits/stdc++.h> using namespace std; int n,m,x[105],a[105],b[105],c[105],dp[105][505]; int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ cin>>x[i]; cin>>a[i]>>b[i]; if(x[i]==2) cin>>c[i]; } for(int i=1;i<=n;i++){ for(int j=0;j<=m;j++){ dp[i][j]=max(dp[i][j],dp[i-1][j]); if(x[i]==1){ for(int k=0;k<=j;k++){ dp[i][j]=max(dp[i][j],dp[i-1][j-k]+a[i]kk-b[i]k); } }else if(x[i]==2){ for(int k=0;k<=c[i]&&kb[i]<=j;k++){ dp[i][j]=max(dp[i][j],dp[i-1][j-kb[i]]+ka[i]); } }else{ for(int k=0;kb[i]<=j;k++){ dp[i][j]=max(dp[i][j],dp[i-1][j-kb[i]]+k*a[i]); } } } } cout<<dp[n][m]; return 0; }

    userId_undefined

    AC,交流电?

    7阅读
    0回复
    0点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页