【DP】17.2.7 T4 凑硬币 题解
来源:互联网 发布:电子商务淘宝工作 编辑:程序博客网 时间:2024/05/17 03:48
f[i][j]代表硬币面值为i的情况下j能否被凑出来。
方程:if(f[j][t]) f[j+c[i]][t+c[i]] = 1; f[j+c[i]][t] = 1;
附AC代码:
#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <vector>#include <queue>#include <stack>#include <map>#include <set>#include <string>#include <iomanip>#include <ctime>#include <climits>#include <cctype>#include <algorithm>#define LL long long#ifdef WIN32#define AUTO "%I64d"#else#define AUTO "%lld"#endifusing namespace std;const int maxn = 505;int n,k,cnt;int a[maxn];bool f[maxn][maxn];int main() { freopen("coin.in","r",stdin); freopen("coin.out","w",stdout); scanf("%d%d",&n,&k); for(int i = 1; i <= n; i++) scanf("%d",&a[i]); f[0][0] = 1; for(int i = 1; i <= n; i++) for(int j = k-a[i]; j >= 0; j--) for(int t = j; t >= 0; t--) if(f[j][t]) f[j+a[i]][t+a[i]] = f[j+a[i]][t] = 1; for(int i = 0; i <= k; i++) if(f[k][i]) cnt++; cout << cnt << endl; for(int i = 0; i <= k; i++) if(f[k][i]) cout << i << ' '; return 0;}
0 0
- 【DP】17.2.7 T4 凑硬币 题解
- 【树形DP】17.2.6 T4 苹果树 题解
- 硬币题解
- NOIP2015PJ T3,T4题解
- 【装压DP】【矩阵快速幂】DP special train T4 棋盘 题解
- 凑硬币DP算法pyton
- NOIP2015 PJ T3,T4 题解
- [NOIP2010]三国游戏 T4 题解
- 【DP】17.2.7 T2 隔离村庄 题解
- 【DP】17.2.7 T3 多米诺骨牌 题解
- 硬币 coin题解
- noip2007普及组T1--T4题解
- 【dp】最少硬币问题
- DP 换硬币问题
- uva 11137(硬币dp)
- uva 10313(硬币dp)
- uva10626(硬币DP)
- codevs 1297 硬币 [dp]
- C# 栈的使用 STACK
- POJ 1321-棋盘问题
- 使用PHP编写的基于MySQL博客模板-可直接使用
- 反射
- 下一个旅程
- 【DP】17.2.7 T4 凑硬币 题解
- ZooKeeper笔记
- 二叉树经典面试题3~树中两个结点的最低公共祖先
- 蓝桥杯-算法训练-算法训练 Anagrams问题 -Java
- Android中visibility属性VISIBLE、INVISIBLE、GONE的区别
- SharedPreferences的用法
- 系统广播大全
- ccf试题 数位之和
- MyBatis传入多个参数