HDU 2110 Crisis of HDU 母函数

来源:互联网 发布:手机扒谱软件 编辑:程序博客网 时间:2024/05/16 01:58
点击打开链接

Crisis of HDU

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3137    Accepted Submission(s): 871


Problem Description
话说上回讲到HDU大战东洋小苟,结果自然是中方大胜,这一战也使得海东集团在全球同行业中的地位更加巩固。随着集团的发展,很多创业时期的元老逐步功成身退,先是8600移民海外,然后是linle夫妇退隐山林,逐渐的,最初众多的元老只剩下XHD夫妇和Wiskey三人了。
到了2020年,因为扩张过度加上老鼠数量逐年减少,公司的发展遇到了前所未有的危机,此时集团已经没有任何流动资金,更可怕的是,这个时候,wiskey也决定退出了!
退出本身并不麻烦,麻烦的是,退出的人需要取走相应比例(1/3)金额的资产。
假设公司此时一共有n种价值的资产,每种价值的资产数量已知,请帮助心烦意乱的XHD夫妇计算一共有多少种分割资产的方法。
 

Input
输入包含多个测试实例,每个实例的第一行是一个整数n(n<100),表示一共有n种价值的资产,接着的n行每行包含两个整数pi和mi(0<pi,mi<10),分别表示某种价值和对应的数量,n为0的时候结束输入。
 

Output
对于每个测试实例,请输出分割资产的方案数%10000,如果不能分割,请输出“sorry”,每个实例的输出占一行。
 

Sample Input
21 12 10
 

Sample Output
1面对朋友的退出和资金短缺,海东集团能度过难关吗?作为老总的XHD如何来化解这场危机?欲知后事如何,且听下回分解——
 

Author
lcy

//0MS312K#include<stdio.h>#include<string.h>#define M 10007int c1[M],c2[M],num[107],id[107];int main(){    int t;    while(scanf("%d",&t),t)    {        memset(num,0,sizeof(num));        int count=0;        for(int i=1; i<=t; i++)        {            scanf("%d%d",&id[i],&num[i]);            count+=id[i]*num[i];        }        if(count%3!=0)printf("sorry\n");        else        {            count/=3;            memset(c1,0,sizeof(c1));//c1保存当前得到的多项式各项系数            memset(c2,0,sizeof(c2));//c2保存每次计算时临时的结果            c1[0]=1;  //x^0去乘后面多项式            for(int i=1; i<=t; i++) //要乘以t个多项式            {                for(int j=0; j<=count; j++) //c1的各项指数                    for(int k=0; k<=num[i]&&j+k*id[i]<=count; k++) //k*i表示被乘多项式各项的指数,(X^(0*i) + X^(1*i) + X^(2*i) + ……)                        c2[j+k*id[i]]+=c1[j];//指数相加得j+k*i,加多少只取决于c1[j]的系数,因为被乘多项式的各项系数均为1                memcpy(c1,c2,sizeof(c2));                memset(c2,0,sizeof(c2));                for(int i=0;i<count;i++)                    if(c1[i]>10000)c1[i]%=10000;            }            int ans=c1[count]%10000;            if(ans)printf("%d\n",ans);            else printf("sorry\n");        }    }    return 0;}



0 0
原创粉丝点击