Uva624 01背包输出方案 xingxing在努力
2015-11-27 15:20
274 查看
题目是给你一个长度为N的磁带, 让你将t首歌放入磁带中, 输出歌曲总长度不超过N的情况下的方案。
代码如下:
代码如下:
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; int c[30]; int f[10000 + 100]; int vis[30][10000 + 10]; int n, m; int main() { while(scanf("%d%d", &n, &m) == 2) { for(int i=1; i<=m; i++) scanf("%d", &c[i]); memset(f, 0, sizeof(f)); memset(vis, 0, sizeof(vis)); for(int i=m; i>=1; i--) { for(int j=n; j>=c[i]; j--) { if(f[j] < f[j-c[i]]+c[i]) { f[j] = f[j-c[i]] + c[i]; vis[i][j] = 1; } } } for(int i=1, j=f ; i<=m; i++) if(vis[i][j]) { printf("%d ", c[i]); //printf("%d %d\n", i, j); j -= c[i]; } printf("sum:%d\n", f ); } return 0; }
相关文章推荐
- 有关Linux邮件的基础知识
- C#实现启动,关闭与查找进程的方法
- PHP通过反射动态加载第三方类和获得类源码的实例
- windows下socket网络编程小节
- 重新回归CSDN博客
- ios开发学习笔记
- Spring MVC(三)基于上一篇使用JUnit编写测试用例
- Qt:正则表达式语法:
- C#截图操作方法大全
- .Net写txt文件-简单的记录执行日志信息代码
- day_25I/O输入输出
- 11
- eclipse下gradle配置
- Winform Textbox实现滚动条始终在最下面
- java利用JXL导出/生成 EXCEL【my】
- Apache、tomcat、Nginx常用配置合集
- React 入门实例教程
- 《计算机网络-自顶向下方法》之网络边缘
- Java工具类--通过HttpClient发送http请求
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解