
1 1 3 0 0 0
4
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
#include <queue>
int a[10005],b[10005];
int num[4];
int main()
{
freopen("C:\\in.txt","r",stdin);
while(scanf("%d %d %d",&num[1],&num[2],&num[3])!=EOF){
int v[4]={0,1,2,5};
if(!num[1]&&!num[2]&&!num[3])break;
int sum=0;
for(int i=1;i<=3;i++)
sum+=num[i]*v[i];
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
a[0]=1;
for(int i=1;i<=3;i++){
for(int j=0;j<=sum;j++)
if(a[j])
for(int k=0;k*v[i]+j<=sum&&k<=num[i];k++)
b[k*v[i]+j]+=a[j];
for(int j=0;j<=sum;j++)
{
a[j]=b[j];
b[j]=0;
}
}
int index=0;
for(int i=0;i<=10000;i++){
if(!a[i]){
index=i;
break;
}
}
printf("%d\n",index);
}
return 0;
}
HDU1085 Holding Bin-Laden Captive!
原文:http://blog.csdn.net/starcuan/article/details/19247989