首页 > 代码库 > UVA 357 Let Me Count The Ways
UVA 357 Let Me Count The Ways
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=5&page=show_problem&problem=293
Dynamic programming
注意overflow。
代码如下:
1 //============================================================================ 2 // Name : test.cpp 3 // Author : 4 // Version : 5 // Copyright : Your copyright notice 6 // Description : Hello World in C++, Ansi-style 7 //============================================================================ 8 9 #include <iostream> 10 #include <math.h> 11 #include <stdio.h> 12 #include <cstdio> 13 #include <algorithm> 14 #include <string.h> 15 #include <cstring> 16 #include <queue> 17 #include <vector> 18 #include <functional> 19 #include <cmath> 20 #define SCF(a) scanf("%d", &a) 21 #define IN(a) cin>>a 22 #define FOR(i, a, b) for(int i=a;i<b;i++) 23 typedef long long Int; 24 using namespace std; 25 26 int main() 27 { 28 int n; 29 int type[5] = { 1, 5, 10, 25, 50 }; 30 Int ways[30005] = { 0 }; 31 ways[0] = 1; 32 FOR(i, 0, 5) 33 { 34 FOR(j, type[i], 30005) 35 { 36 ways[j] += ways[j - type[i]]; 37 } 38 } 39 40 while (SCF(n)!=EOF) 41 { 42 if (ways[n] == 1) 43 printf("There is only 1 way to produce %d cents change.\n", n); 44 else 45 printf("There are %lld ways to produce %d cents change.\n", ways[n], n); 46 } 47 return 0; 48 }
UVA 357 Let Me Count The Ways
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。