首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

hdu 1085 Holding Bin-Laden Captive! (雌函数)

2012-08-26 
hdu1085 Holding Bin-Laden Captive! (母函数)跟模版有点变化,这里的硬币是有个数的所以要变一下#include

hdu 1085 Holding Bin-Laden Captive! (母函数)

跟模版有点变化,这里的硬币是有个数的所以要变一下

#include"stdio.h"int main(){    int c1[8005],c2[8005],num[3],coin[3]={1,2,5};    int i,j,k,sum;    while(scanf("%d%d%d",&num[0],&num[1],&num[2])!=EOF)    {        if(!num[0]&&!num[1]&&!num[2])break;        if(num[0]==0)        {            printf("1\n");continue;        }        sum=num[0]+2*num[1]+5*num[2];        for(i=0;i<=8000;i++)            c1[i]=c2[i]=0;        for(i=0;i<=num[0];i++)            c1[i]=1;        for(i=1;i<=2;i++)        {            for(j=0;j<=sum;j++)            {//硬币的个数k有范围,所以不能再用模版的方法(for(k=0;k+j<=sum;k+=coin[i]))                for(k=0;k*coin[i]+j<=sum&&k<=num[i];k++)                    c2[j+k*coin[i]]+=c1[j];            }            for(j=0;j<=sum;j++)            {                c1[j]=c2[j];c2[j]=0;            }        }        for(i=1;i<=8000;i++)        {            if(c1[i]==0)break;        }        printf("%d\n",i);    }    return 0;}


热点排行