HDU_1085_Holding Bin-Laden Captive!_母函数

Holding Bin-Laden Captive!

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 19908    Accepted Submission(s): 8865

Problem Description

We all know that Bin-Laden is a notorious terrorist, and he has disappeared for a long time. But recently, it is reported that he hides in Hang Zhou of China! 
“Oh, God! How terrible! ”

Don’t be so afraid, guys. Although he hides in a cave of Hang Zhou, he dares not to go out. Laden is so bored recent years that he fling himself into some math problems, and he said that if anyone can solve his problem, he will give himself up! 
Ha-ha! Obviously, Laden is too proud of his intelligence! But, what is his problem?
“Given some Chinese Coins (硬币) (three kinds-- 1, 2, 5), and their number is num_1, num_2 and num_5 respectively, please output the minimum value that you cannot pay with given coins.”
You, super ACMer, should solve the problem easily, and don’t forget to take $25000000 from Bush!

Input

Input contains multiple test cases. Each test case contains 3 positive integers num_1, num_2 and num_5 (0<=num_i<=1000). A test case containing 0 0 0 terminates the input and this test case is not to be processed.

Output

Output the minimum positive value that one cannot pay with given coins, one line for one case.

Sample Input

1 1 3
0 0 0

Sample Output

4

三种硬币,输入三种硬币的个数,问所有这些硬币所不能支付的钱数的最小值。

用母函数解决,虽说做得有点久,思想基本掌握。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

int c1[10000];
int c2[10000];
int c3[4000];

int main()
{
    int a,b,c;
    while(scanf("%d%d%d",&a,&b,&c)!=EOF&&(a||b||c))
    {
        memset(c1,0,sizeof(c1));
        memset(c2,0,sizeof(c2));
        memset(c3,0,sizeof(c3));
        for(int i=0; i<=a; i++)
            c1[i]=1;
        for(int i=0; i<=a; i++)
            for(int j=0; j<=2*b; j+=2)
                c2[i+j]+=c1[i];

        for(int i=0;i<=a+b*2;i++)
        {
            c1[i]=c2[i];
            c2[i]=0;
        }
        for(int i=0; i<=(a*1)+(b*2); i++)
            for(int j=0; j<=5*c; j+=5)
                c2[i+j]+=c1[i];
        for(int i=0;i<=a+b*2+c*5;i++)
            c1[i]=c2[i];
        /*for(int i=0;i<=a+2*b+5*c;i++)
            cout<<c1[i]<<endl;
            cout<<endl;*/
        for(int i=1;i<=a+2*b+5*c+1;i++)
            if(c1[i]==0)
        {
            printf("%d\n",i);
            break;
        }
    }
    return 0;
}

时间: 2024-10-10 21:49:03

HDU_1085_Holding Bin-Laden Captive!_母函数的相关文章

HDU1085 Holding Bin-Laden Captive! 【母函数】

Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 14543    Accepted Submission(s): 6514 Problem Description We all know that Bin-Laden is a notorious terrorist, and he

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

Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 15384    Accepted Submission(s): 6892 Problem Description We all know that Bin-Laden is a notorious terrorist, and he

Holding Bin-Laden Captive!(母函数)

Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17732    Accepted Submission(s): 7940 Problem Description We all know that Bin-Laden is a notorious terrorist, and he h

HDOJ/HDU 1085 Holding Bin-Laden Captive!(非母函数求解)

Problem Description We all know that Bin-Laden is a notorious terrorist, and he has disappeared for a long time. But recently, it is reported that he hides in Hang Zhou of China! "Oh, God! How terrible! " Don't be so afraid, guys. Although he hi

hdu1085 Holding Bin-Laden Captive!(母函数)

简单的母函数应用. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<string> #include<cmath> #include<map> #include<set> #include<vector> #include<algorithm> #include<sta

Bash 中的 _ 是不是环境变量

首先,我们想到的会是 export(等价于 declare -x)命令: $ export | grep 'declare -x _=' 没有找到,那么结论就是 _ 不是环境变量?当然没那么简单,否则本篇文章就该结束了.别忘了还有 env(或者 printenv)命令: $ env | grep '_=' _=/usr/bin/env 这下怎么办,_ 到底是不是环境变量?谁说的对?然而下面还有更诡异的: $ bash -c "export | grep 'declare -x _='"

算法 排序NB二人组 堆排序 归并排序

参考博客:基于python的七种经典排序算法     常用排序算法总结(一) 序前传 - 树与二叉树 树是一种很常见的非线性的数据结构,称为树形结构,简称树.所谓数据结构就是一组数据的集合连同它们的储存关系和对它们的操作方法.树形结构就像自然界的一颗树的构造一样,有一个根和若干个树枝和树叶.根或主干是第一层的,从主干长出的分枝是第二层的,一层一层直到最后,末端的没有分支的结点叫做叶子,所以树形结构是一个层次结构.在<数据结构>中,则用人类的血统关系来命名,一个结点的分枝叫做该结点的"

python 之实现模糊匹配

#!/usr/bin/env pythong #_*_ coding:utf-8 _*_ import re # data = [ 'tantianran phone 118', 'tanyongxing phone 110', 'tansufen phone 119', 'dengwenyi phone 118', 'dengwenqing phone 520', 'laowang phone 110', 'zhongjianwei 112' ] def findes(user_input,d

学习Python的day1

自己以前从来没有写博客的想法,但是学Python,里面的老师也说了,写博客可以加深自己的记忆,也能回顾内容.还能给别人参考.挺值的.2017-09-16 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第五, Python崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. Py