
1 1 3 0 0 0
4
#include<iostream>
const int M=100000;
#include<algorithm>
using namespace std;
int main()
{
int i,j,k,n1,n2,n5,cnt[M],dic[M];
while(cin>>n1>>n2>>n5,n1+n2+n5)
{
int Min=n1+2*n2+5*n5;
for(int h=0; h<=Min; h++)
{
cnt[h]=1;
dic[h]=0;
}
cnt[Min+1]=0;
for(j=0; j<=n1; j++)
for(k=0; k<=2*n2; k+=2)
{
dic[j+k]+=cnt[j];
}
for(int p=0; p<=2*n2+n1; p++)
{
cnt[p]=dic[p];
dic[p]=0;
}
for(j=0; j<=2*n2+n1; j++)
for(k=0; k<=5*n5; k+=5)
{
dic[j+k]+=cnt[j];
}
for(int e=0; e<=Min; e++)
{
cnt[e]=dic[e];
dic[e]=0;
}
for(int q=0;; q++)
{
if(!cnt[q])
{ cout<<q<<endl;
break;
}
}
}
return 0;
}
杭电 HDU ACM 1085 Holding Bin-Laden Captive!
原文地址:http://blog.csdn.net/lsgqjh/article/details/45267795