解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
double x[30010];
int n,m,i,j;//n金额 M希望购买个数
for(i=0;i<30010;i++)
x[i]=0;
scanf("%d%d",&n,&m);
int v[m];
int p[m]; //V物品价格P重要度
for(i=0;i<m;i++)
scanf("%d%d",&v[i],&p[i]);
for(i=0;i<m;i++){
for(j=n;v[i]<=j;j--){
x[j] = x[j] > (x[j-v[i]]+((double)p[i]*(double)v[i])) ? x[j] : (x[j-v[i]]+((double)p[i]*(double)v[i]));
}
}
for(i=0;i<30010;i++){
if(x[0]<x[i])
x[0]=x[i];
}
printf("%0.0f\n",x[0]);
return 0;
}
0.0分
0 人评分
C语言训练-排序问题<1> (C++代码)浏览:632 |
C语言训练-求素数问题 (C语言代码)浏览:1509 |
【绝对值排序】 (C++代码)浏览:720 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:631 |
WU-输入输出格式练习 (C++代码)浏览:1133 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:751 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)from DQM浏览:773 |
简单的a+b (C语言代码)浏览:574 |
循环入门练习6 (C语言代码)浏览:1058 |
数组与指针的问题浏览:760 |