hdu 1085 Holding Bin-Laden Captive!

        母函数水题。

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
#include <queue>
using namespace std;

#define ll long long

int c[8010];

int main(){
    int num_1,num_2,num_5;
    while(cin>>num_1>>num_2>>num_5){
        if(num_1==0&&num_2==0&&num_5==0)break;
        memset(c,0,sizeof(c));
        int MAX=0;
        c[0]=1;
        for(int i=MAX;i>=0;i--){
            for(int j=1;j<=num_1;j++){
                c[i+j]+=c[i];
            }
        }
        MAX=num_1;
        for(int i=MAX;i>=0;i--){
            for(int j=1;j<=num_2;j++){
                c[i+j*2]+=c[i];
            }
        }
        MAX=num_1+num_2*2;
        for(int i=MAX;i>=0;i--){
            for(int j=1;j<=num_5;j++){
                c[i+j*5]+=c[i];
            }
        }
        int ans;
        for(int i=1;;i++){
            if(!c[i]){
                ans=i;  break;
            }
        }
        cout<<ans<<endl;
    }
    return 0;
}


你可能感兴趣的:(hdu 1085 Holding Bin-Laden Captive!)