杭电ACM1398——Square Coins~~母函数

来源:互联网 发布:软件项目解决方案 编辑:程序博客网 时间:2024/05/03 00:13

这一题,简单的母函数的应用,好久没有写过母函数了,有点生疏了。

题目的硬币有17种,分别是1到17的平方的硬币。

下面的是AC的代码:

#include <iostream>#include <cstring>#include <cmath>using namespace std;int dp[305], temp[305];int main(){int i, j, k, l;for(i = 0; i < 305; i++)  //初始化{dp[i] = 1;temp[i] = 0;}for(j = 2; j <= 17; j++)  //硬币的种类{for(k = 0; k < 301; k++){for(l = 0; l + k < 301; l += j * j)temp[l + k] += dp[k];}for(k = 0; k < 301; k++){dp[k] = temp[k];temp[k] = 0;}}int m;while(cin >> m && m)cout << dp[m] << endl;return 0;}


0 0