解题思路:
注意事项:
参考代码:
#include<cstdio> #include<iostream> #include<cstring> using namespace std; int rmb[1010];//消耗1 int rp[1010];//消耗2 int t[1010]; int f[101][101];//钱为i,人品为j时泡最多mm的数量 int mint[101][101];//钱为i,人品为j时泡最多mm的最少时间 int main() { int n,i,m=0,r=0;//m->money,r->rp int v1,v2; scanf("%d",&n); for(i=1;i<=n;++i) scanf("%d%d%d",&rmb[i],&rp[i],&t[i]); scanf("%d%d",&m,&r); for(i=1;i<=n;++i) { for(v1=m;v1>=0;--v1) { for(v2=r;v2>=0;--v2) { if(v1>=rmb[i]&&v2>=rp[i]) { if(f[v1][v2]<f[v1-rmb[i]][v2-rp[i]]+1)//先找个数多的 { f[v1][v2]=f[v1-rmb[i]][v2-rp[i]]+1; mint[v1][v2]=mint[v1-rmb[i]][v2-rp[i]]+t[i]; } else if(f[v1][v2]==f[v1-rmb[i]][v2-rp[i]]+1)//个数相同取时间最小 { mint[v1][v2]=min(mint[v1][v2],mint[v1-rmb[i]][v2-rp[i]]+t[i]); } } } } } printf("%d",mint[m][r]); return 0; }
0.0分
1 人评分
【蟠桃记】 (C语言代码)浏览:697 |
简单的a+b (C语言代码)浏览:683 |
C语言训练-8除不尽的数 (C语言代码)浏览:1469 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:653 |
多组数据新方法浏览:368 |
C语言程序设计教程(第三版)课后习题4.9 (Java代码)浏览:630 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:4394 |
顺子浏览:1369 |
Manchester- 陶陶摘苹果浏览:4835 |
【绝对值排序】 (C语言代码)浏览:519 |