题目大意:给出五种硬币的价值和数量,问如何用最多的硬币组成另一个数
解题思路:完全背包问题加纪录路径
#include
#include
const int N = 10010;
int val[4] = {1, 5, 10, 25};
int dp[N], path[N], use[N], num[4], ans[30];
int n;
void solve() {
memset(dp, -1, sizeof(dp));
memset(path, -1, sizeof(path));
dp[0] = 0;
path[0] = 0;
for (int i = 0; i