博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EOJ 1113 装箱问题
阅读量:4883 次
发布时间:2019-06-11

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

有一个箱子容量为 V (正整数,0≤V≤20000),同时有 n 个物品(0<n≤30),每个物品有一个体积(正整数)。要求从 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

Input

输入有多组测试数据,第一行一个正整数 V, 表示箱子的容量

第二行一个数据 n 表示物品个数。

第三行有 n 个数据,描述每个物品的体积

Output

每个输出占一行,输出箱子最后剩下的最小体积


 

 

1 #include 
2 int max(int a,int b){
return a>b?a:b;} 3 int w[31],V,n; 4 int main() 5 { 6 while(~(scanf("%d",&V))) 7 { 8 scanf("%d",&n); 9 for(int i=1;i<=n;i++) scanf("%d",&w[i]);10 int f[20001]={
0};11 12 for(int i=1;i<=n;i++)13 for(int j=V;j>=w[i];j--)14 f[j]=max(f[j],f[j-w[i]]+w[i]);15 printf("%d\n",V-f[V]);16 }17 return 0;18 }

 

动态规划基础题,其中,每个物品的价格即为大小,大小即为价格(你在说什么),剩下最小体积,就是使价格(体积)尽可能大。简单地套个模板即可。

 

转载于:https://www.cnblogs.com/Jiiiin/p/8625907.html

你可能感兴趣的文章
软件测试2019:第四次作业
查看>>
201571030335 + 小学四则运算练习软件项目报告
查看>>
不用代码就能实现get与post
查看>>
gdb基本调试命令
查看>>
互联网开放平台API安全设计
查看>>
OPMN
查看>>
LOG收集系统(一):原日志至收集
查看>>
【文摘】经营十二条
查看>>
清除浮动的方法
查看>>
Logstash连接Elasticsearch异常
查看>>
洛谷P4287 [SHOI2011]双倍回文(回文自动机)
查看>>
用户交互程序,格式化输出
查看>>
GNOME的发展与对比
查看>>
SPOJ PT07X Vertex Cover
查看>>
$ python-json模块的基本用法
查看>>
5.6.3.4 trim()方法
查看>>
Cookie、Session和自定义分页
查看>>
SQL演练
查看>>
React Antd中样式的修改
查看>>
Spring 应用外部属性文件 配置 context 错误
查看>>