HDOJ 1028 Ignatius and the Princess III
典型的母函数题目,所以无话可讲。直接套用公式求解即可。
//#include <fstream> #include <iostream> using namespace std; int main() { //fstream cin("Ignatius and the Princess III.txt"); unsigned num; while(cin>>num) { if(num==0) break; unsigned* coins=new unsigned[num+2]; for (unsigned i=0;i<num+2;i++) coins[i]=1; unsigned* assist=new unsigned[num+2]; memset(assist,0,sizeof(unsigned)*(2+num)); for(unsigned i=2;i<=num;i++) { for(unsigned j=0;j<=num;j++) for(unsigned k=0;k+j<=num;k+=i) assist[k+j]+=coins[j]; for(unsigned j=0;j<=num;j++) { coins[j]=assist[j]; assist[j]=0; } } cout<<coins[num]<<endl; } return 0; }