杭電ACM hdu 1398 Square Coins 解題報告(母函式)
Problem Description
People in Silverland use square coins. Not only they have square shapes but also their values are square numbers. Coins with values of all square numbers
up to 289 (=17^2), i.e., 1-credit coins, 4-credit coins, 9-credit coins, ..., and 289-credit coins, are available in Silverland.
There are four combinations of coins to pay ten credits:
ten 1-credit coins,
one 4-credit coin and six 1-credit coins,
two 4-credit coins and two 1-credit coins, and
one 9-credit coin and one 1-credit coin.
Your mission is to count the number of ways to pay a given amount using coins of Silverland.
Input
The input consists of lines each containing an integer meaning an amount to be paid, followed by a line containing a zero. You may assume that all the amounts are positive and less than 300.
Output
For each of the given amount, one line containing a single integer representing the number of combinations of coins should be output. No other characters should appear in the output.
Sample Input
2
10
30
0
Sample Output
1
4
27
Source
Asia 1999, Kyoto (Japan)
Recommend
Ignatius.L
Solution
以下部分的版權歸本人(小飛)所有。所有權利保留。
歡迎轉載,轉載時請註明出處:
http://blog.csdn.net/xiaofei_it/article/details/17041815
本題直接套用母函式模板即可。關於母函式的詳細解釋請看:
http://blog.csdn.net/xiaofei_it/article/details/17042651
程式碼如下:
#include <iostream>
#include <cstring>
using namespace std;
#define MAX 301
int n,a[MAX],b[MAX],i,j,k,v[18];
int main()
{
for (i=1;i<=17;i++)
v[i]=i*i;
while ((cin>>n)&&n>0)
{
memset(a,0,sizeof(a));
a[0]=1;
for (i=1;i<=17;i++)
{
memset(b,0,sizeof(b));
for (j=0;j*v[i]<=n;j++)
for (k=0;k+j*v[i]<=n;k++)
b[k+j*v[i]]+=a[k];
memcpy(a,b,sizeof(b));
}
cout<<a[n]<<endl;
}
return 0;
}
相關文章
- 杭電ACM hdu 2152 Fruit 解題報告(母函式)ACMUI函式
- 杭電ACM hdu 2110 Crisis of HDU 解題報告(母函式)ACM函式
- 杭電ACM hdu 1171 Big Event in HDU 解題報告(母函式)ACM函式
- HDOJ-1398 Square Coins(母函式)函式
- 杭電ACM hdu 2082 找單詞 解題報告(母函式)ACM函式
- 杭電ACM hdu 2079 選課時間 解題報告(母函式)ACM函式
- 杭電ACM hdu 1085 Holding Bin-Laden Captive! 解題報告(母函式)ACMAPT函式
- HDU 母函式簡單題 - 找單詞/Ignatius and the Princess III/Square Coins/Holding Bin-Laden Captive!函式APT
- HDU 1709 The Balance(母函式)函式
- 母函式詳解和史上最通用最高效的母函式模板函式
- HDU 1028 Ignatius and the Princess III:dp or 母函式函式
- HDU 2082-找單詞(母函式-有限次)函式
- NYNU ACM 藍橋杯選拔賽 解題報告ACM
- 山東省第四屆acm解題報告(部分)ACM
- Java 杭電ACM Train Problem I 1022JavaACMAI
- 杭電多校補題
- YT03-遞推求解課堂題目-1003 獻給杭電五十週年校慶的禮物-(6.7日-煙臺大學ACM預備隊解題報告)ACM
- HDU 1028-Ignatius and the Princess III(拆分整數-母函式-無限次)函式
- 河南理工大學程式設計(ACM)大賽解題報告程式設計ACM
- [Atcoder DP I]Coins 題解
- SG 函式初步 HDU 1536 && HDU 1944函式
- 「SWTR-4」Collecting Coins 題解
- HDU2588GCD(尤拉函式)GC函式
- [熵值] 解題報告熵
- ACM HDU 1279 驗證角谷猜想(簡單水題)ACM
- 2020-10-30 ACM實踐報告部分程式題ACM
- HDU1729 Stone Game (SG函式)GAM函式
- 報告彙總資料使用組函式函式
- HDU 不要62 題解
- ARC173 解題報告
- HDU 4002Find the maximum(尤拉函式)函式
- HDU杭電1874-暢通工程續(dijkstra演算法和Floyd演算法)演算法
- HDU3519Lucky Coins Sequence(DP+矩陣加速)矩陣
- HDU-ACM 2024 Day2ACM
- HDU-ACM 2024 Day3ACM
- HDU-ACM 2024 Day4ACM
- 『杭電1939』He is offside!IDE
- 科大訊飛大資料:新母嬰人群洞察報告大資料