标签:

1 1 3 0 0 0
4
#include <iostream>
#include <stdio.h>
#include <string>
#include <cstring>
#include <algorithm>
#include <cmath>
#define N 10009
using namespace std;
int a[N];
int c1[N],c2[N];
int b[3]={1,2,5};
int main()
{
while(~scanf("%d %d %d",&a[0],&a[1],&a[2]))
{
if(a[1]+a[2]+a[0]==0) break;
int sum=0;
for(int i=0;i<3;i++)
sum+=a[i]*b[i];
memset(c1,0,sizeof c1);
memset(c2,0,sizeof c2);
for(int i=0;i<=a[0];i++)//只有1面值的情况
c1[i]=1;
for(int i=1;i<3;i++)
{
for(int j=0;j<=sum;j++)
if(c1[j])
{
for(int k=0;j+k<=sum&&k<=a[i]*b[i];k+=b[i])
c2[j+k]+=c1[j];
}
for(int j=0;j<=sum;j++)
c1[j]=c2[j],c2[j]=0;
}
int ans=0;
for(int i=1;i<=10000;i++)
if(c1[i]==0)
{ans=i;break;}
cout<<ans<<endl;
}
return 0;
}
标签:
原文地址:http://blog.csdn.net/wust_zjx/article/details/44259735