杭电2110-Crisis of HDU

来源:互联网 发布:2016淘宝直通车卡首屏 编辑:程序博客网 时间:2024/05/21 00:20

Crisis of HDU

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


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如何来化解这场危机?欲知后事如何,且听下回分解——
这道题是一道母函数题
AC代码:
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>const int MAX=10001;const int Max=101;__int64 c1[MAX];__int64 c2[MAX];int a[Max];int b[Max];using namespace std;int main(){    int n,i;    __int64 sum,j;    while(cin>>n,n)    {        sum=0;        for(i=1; i<=n; i++)        {            cin>>a[i]>>b[i];            sum+=a[i]*b[i];        }        if(sum%3!=0)        {            cout<<"sorry"<<endl;            continue;        }        sum/=3;        memset(c1,0,sizeof(c1));        for(i=0;i<=a[1]*b[1];i+=a[1])        c1[i]=1;        memset(c2,0,sizeof(c2));        for(i=2;i<=n;i++)        {            for(j=0;j<=sum;j++)            {                for(int k=0;k<=a[i]*b[i]&&(k+j<=sum);k+=a[i])                {                    c2[k+j]+=c1[j];                }            }            for(j=0;j<=sum;j++)            {                c1[j]=c2[j];                c2[j]=0;                c1[j]%=10000;//每次加完都要对10000取模,因为有些数据很大,不取模会WA            }            /*for(j=0;j<=sum;j++)            {                if(c1[j]>=10000)                c1[j]%=10000;            }*/        }        if(c1[sum]==0)            cout<<"sorry"<<endl;        else            cout<<c1[sum]<<endl;    }    return 0;}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 4个半月胎位不正怎么办 41周不产生宫缩怎么办 生完孩子胎盘没有脱落怎么办 39周还是臀位怎么办 怀孕7个月胎位不正怎么办 怀孕六个多月胎位不正怎么办 怀孕七个月了胎位不正怎么办 怀孕七个月胎位不正怎么办 怀孕肚子上有妊娠纹怎么办 怀孕九个月肚子长痱子怎么办 怀孕前体重偏胖怎么办 怀孕打胰岛素血糖控制不好怎么办 孕后期憋的难受怎么办 怀孕6个月不想生怎么办 孕六个月不想要怎么办 怀孕9个月喝酒了怎么办 怀孕8个月喝醉了怎么办 怀孕6个月胃酸烧心怎么办 怀孕7个月胃酸怎么办 怀孕5个月胃酸怎么办 怀孕2个月胃酸怎么办 怀孕六个月胃酸烧心怎么办 孕六个月反胃酸怎么办 怀孕三个月胃酸吐酸水怎么办 孕六个月胃难受怎么办 孕6个月胃酸厉害怎么办 孕妇6个月胃酸怎么办 孕早期胎盘早剥怎么办 孕妇晕车怎么办最有效方法 怀孕了受凉胃疼怎么办 怀孕4个月胎位低怎么办 6个月胎位低怎么办 7个多月了胎位低怎么办 瑜伽按摩球破了怎么办 孕妇吐完胸口疼怎么办 孕25周胸口堵怎么办呢 孕期没做过产检怎么办 宝宝的泪囊堵塞怎么办 瑜伽球塞子丢了怎么办 瑜伽球塞子没了怎么办 练阴瑜伽是想睡怎么办