uva 357 - Let Me Count The Ways
2013-08-08 16:06
225 查看
昨天太着急 没注意数据的范围直接用dp数组直接用int 了 今天想了一下 应该用long long
View Code
#include <cstdio> #include <cstring> int coin[5]= {1,5,10,25,50}; long long dp[5][30010]; long long dfs(int cur,int sum) { if(sum==0) return dp[cur][sum]=1; if(dp[cur][sum]!=-1) return dp[cur][sum]; dp[cur][sum]=0; for(int i=cur; i<5; i++) { if(sum>=coin[i]) dp[cur][sum]+=dfs(i,sum-coin[i]); } return dp[cur][sum]; } int main() { memset(dp, -1, sizeof(dp)); int n; while(scanf("%d",&n)==1) { dfs(0,n); if(dp[0] ==1) printf("There is only 1 way to produce %d cents change.\n",n); else printf("There are %lld ways to produce %d cents change.\n",dp[0] ,n); } return 0; }
View Code
相关文章推荐
- UVA 357 Let Me Count The Ways
- uva 357 let me count the ways
- UVA 357 - Let Me Count The Ways
- UVA 357 - Let Me Count The Ways
- UVA 357 Let Me Count The Ways Problem(动态规划 硬币)
- UVa 357 - Let Me Count The Ways
- UVA - 357 Let Me Count The Ways(完全背包)
- 【解题报告】uva357_Let Me Count The Ways(让我来数数方案, dp, 完全背包)
- UVA 357 - Let Me Count The Ways
- uva_357 Let Me Count The Ways
- UVA 357 Let Me Count The Ways(全然背包)
- UVa 357 - Let Me Count The Ways 背包
- uva 357 Let Me Count The Ways(01背包)
- UVA - 357 Let Me Count The Ways
- UVa 357 Let Me Count The Ways (完全背包)
- UVA 357 - Let Me Count The Ways(母函数)
- UVa 357 - Let Me Count The Ways
- UVA - 357 Let Me Count The Ways
- UVa 357 - Let Me Count The Ways 背包
- UVA - 357 Let Me Count The Ways