uva 624 CD 01背包打印路径
2024-08-26 14:28:12
// 集训最终開始了。来到水题先 #include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
int a[23];
int d[23][100000];
int flag[23];
int W,n; void init(){
cin >> n;
for (int i=1;i<=n;i++)
cin >> a[i];
memset(flag,0,sizeof(flag));
memset(d,0,sizeof(d));
} void print(int x,int y){
if (y<=0||x<1) return ;
//cout << x << " " << y << endl;
if (d[x][y]==d[x-1][y]){
flag[x] = 0;
print(x-1,y);
//return ;
}else if (d[x][y]==d[x-1][y-a[x]] + a[x]){
flag[x] = 1;
//cout << a[x] << " ";
print(x-1,y-a[x]);
//return ;
}
} void solve(){
for (int i=1;i<=n;i++){
for (int j=W;j>=0;j--){
d[i][j] = d[i-1][j];
if (j>=a[i])
d[i][j] = max(d[i-1][j],d[i-1][j-a[i]] + a[i]);
}
} print(n,W); for (int i=1;i<=n;i++)
if (flag[i])
printf("%d ",a[i]);
printf("sum:%d\n",d[n][W]);
} int main(){
//freopen("1.txt","r",stdin);
while(cin >> W){
init();
solve();
}
}
最新文章
- C/C++ 标准输入输出重定向
- oracle 邮件发送
- python实现简易数据库之二——单表查询和top N实现
- IOS源码封装成.bundle和.a文件,以及加入xib的具体方法,翻遍网络,仅此一家完美翻译!! IOS7!!(3) 完美结局
- typeof和instanceof运算符
- 基于 SquashFS 构建 Linux 可读写文件系统
- 二叉树-你必须要懂!(二叉树相关算法实现-iOS)
- Android BLE开发之Android手机搜索iBeacon基站
- Mvc学习笔记(4)
- 【设计模式 - 7】之过滤器模式(Filter)
- Session生命周期讨论
- 基于Asterisk的VoIP开发指南——Asterisk 模块编写指南(1)
- mysql 4 索引的优缺点
- 深入理解 Promise
- Hibernate学习笔记(2)---hibernate核心文件
- Alpha冲刺(4/10)——2019.4.26
- vue插件官方文档,做个记录
- [Java]LeetCode141. 环形链表 | Linked List Cycle
- STM32 FSMC使用笔记
- CNN卷积核计算
热门文章
- wifi mode: AP,Client,Ad-hoc,802.11s,Pseudo Ad-hoc(ahdemo),Monitor,AP(WDS),Client(WDS)
- javacript序列化表单数据
- poj 2049 Finding Nemo(优先队列+bfs)
- 最小生成树(kruskal模版 模板)
- Codeforces 374B - Inna and Nine
- 使用Zxing实现扫二维码描
- apache开源项目-- OODT
- XUtils框架的学习(一)
- [Everyday Mathematics]20150102
- chmod命令