hdu 2069(另类版母函数)

来源:互联网 发布:怎样注册免费域名 编辑:程序博客网 时间:2024/05/20 19:30

此题因为有coins 总数的限制所以不是常规的母函数。

此处将原有的储存系数的一位数组变成二维第一位表示系数第二维表示当前硬币数。

 

 

void gf(void)

{

int i,j,k,t;

c1[0][0] = 1;

for(i = 0 ; i < 5; i++)

{

for(j = 0; j < MAXN; j++)

for(k = 0; k+j <  MAXN; k += a[i])

{

for(t = 0; t + k / a[i] <= 100; t++)

{

c2[j+k][t+k/a[i]] += c1[j][t];

}

}

for(j = 0 ; j < MAXN; j++)

{

for(t = 0; t <= 100; t++)

{

c1[j][t] = c2[j][t];

c2[j][t] = 0;

}

}

}

}

 

原创粉丝点击