博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva 10130 SuperSale
阅读量:4879 次
发布时间:2019-06-11

本文共 973 字,大约阅读时间需要 3 分钟。

一个01背包问题;

刚刚开始把题目看错了,以为物品的数目是有限的,然后让你求一个家庭里最多能够拿多个价值的东西;

这样一来的话,这个题目就有点意思了;

但是后来发现竟然是个简单的01背包问题 =  =;

代码:

1 #include
2 #define maxn 1007 3 #include
4 #include
5 using namespace std; 6 7 int price[maxn],weight[maxn],f[105]; 8 int main() 9 {10 int t,n,g,x;11 scanf("%d",&t);12 while(t--)13 {14 scanf("%d",&n);15 for(int i=1; i<=n; i++)16 scanf("%d%d",&price[i],&weight[i]);17 scanf("%d",&g);18 int ans=0;19 while(g--)20 {21 scanf("%d",&x);22 memset(f,0,sizeof f);23 for(int i=1; i<=n; i++)24 for(int j=x; j>=0; j--)25 if(j>=weight[i])26 f[j]=max(f[j],f[j-weight[i]]+price[i]);27 ans+=f[x];28 }29 printf("%d\n",ans);30 }31 return 0;32 }
View Code

 

转载于:https://www.cnblogs.com/yours1103/p/3353382.html

你可能感兴趣的文章
java基础------抽象类
查看>>
【poj3537】 Crosses ans Crosses
查看>>
【poj1013】 Counterfeit Dollar
查看>>
Centos7 安装配置Apache+Mysql5.7+PHP7.0+phpmyadmin
查看>>
最佳调度问题
查看>>
10.04 FZSZ模拟Day1 总结
查看>>
RabbitMQ学习以及与Spring的集成(二)
查看>>
PHP 扩展开发小结
查看>>
Go语言数据类型
查看>>
textarea在ie中focus不起作用
查看>>
User Get 'Access Denied' with Excel Service WebPart
查看>>
C# 读取WAV文件(详细)
查看>>
Sqoop2搭建及使用
查看>>
Git闪退问题
查看>>
Linux命令
查看>>
Android UI线程和非UI线程
查看>>
SpringBoot定时任务
查看>>
获取磁盘空间
查看>>
HTML5 是什么
查看>>
Xamarin Android项目提示SDK版本太老
查看>>