【PAT甲级】1068. Find More Coins (30)
来源:互联网 发布:上海市网络作家协会 编辑:程序博客网 时间:2024/05/17 23:36
#include <stdio.h>#include <algorithm>#include <vector>using namespace std;#define MAX_N 10000#define MAX_M 100bool cmp(int a, int b) { return a > b;}int main(int argc, char *argv[]) { int n, m; scanf("%d %d", &n, &m); int *w = new int[n + 1]; for (int i = 0; i < n; i++) { scanf("%d", &w[i]); } sort(w, w + n, cmp); int d[MAX_M + 1]; int set[MAX_N + 1][MAX_M + 1]; for (int i = 0; i < n; i++) { for (int j = m; j >= w[i]; j--) { if (d[j] <= d[j - w[i]] + w[i]) { d[j] = d[j - w[i]] + w[i]; set[i][j] = 1; } } } if (d[m] < m) printf("No Solution\n"); else { vector<int> v; int i = n - 1; int j = m; while (j > 0) { if (set[i][j] == 1) { v.push_back(w[i]); j = j - w[i]; } i--; } for (i = 0; i < v.size(); i++) { if (i > 0) printf(" "); printf("%d", v[i]); } printf("\n"); } return 0;}
阅读全文
0 0
- PAT甲级1068. Find More Coins (30)
- 【PAT甲级】1068. Find More Coins (30)
- PAT 甲级 1068. Find More Coins (30)
- PAT甲级练习1068. Find More Coins (30)
- 1068. Find More Coins (30)-PAT甲级真题(01背包)
- PAT A 1068. Find More Coins (30)
- pat 1068. Find More Coins (30)
- PAT 1068. Find More Coins (30)
- 【PAT】1068. Find More Coins (30)
- pat 1068. Find More Coins (30)
- PAT(A) - 1068. Find More Coins (30)
- pat 1068. Find More Coins (30)
- PAT-A-1068. Find More Coins (30)
- PAT 1068. Find More Coins
- PAT 1068. Find More Coins
- 【PAT】1068. Find More Coins
- PAT--1068. Find More Coins
- PAT 1068. Find More Coins
- ORA-01552 :非系统表空间 'xxxx'不能使用系统回退段
- 【菜鸟看框架】——Linq实现动态模糊查询
- MyEclipse使用Maven创建web项目+搭建SSM框架
- 实现弹出对话框选择武将
- 001初入C/C++之HelloWorld
- 【PAT甲级】1068. Find More Coins (30)
- Android复习资料1
- caffe可视化方法--配置python接口
- 一个很挫的将unordered_multimap写进共享内存的方法
- python从入门到机器学习
- stm32-W5500-官网教程
- Go数组中的索引问题
- NGUI 图集解包的实现
- 网页打开时都发生了什么?我被吓着了