您的位置:首页 > 其它

HDU 1085

2014-04-13 21:19 141 查看
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1085

指数母函数变形。

#include<iostream>
using namespace std;
#define MAX 100000
int c1[MAX],c2[MAX];

int main()
{
int i,j,k;
int f[4];
int n[4];
int m[4];
f[1]=1;
f[2]=2;
f[3]=5;
while(cin>>n[1]>>n[2]>>n[3])
{
if(n[1]==0&&n[2]==0&&n[3]==0)
break;
m[1]=n[1]*1;
m[2]=n[1]*1+n[2]*2;
m[3]= n[1]*1+n[2]*2+n[3]*5;

memset(c1,0,sizeof(c1));
memset(c2,0,sizeof(c2));

for(j=0;j<=n[1];j++)
c1[j]=1;
for(i=2;i<=3;i++)
{
for(j=0;j<=m[i-1];j++)
for(k=0;k<=n[i]*f[i];k+=f[i])
{
c2[j+k]=c1[j];
}

for(j=0;j<=m[i];j++)
{
c1[j]=c2[j];
c2[j]=0;
}
}

for(i=0;i<=m[3];i++)
{
if(c1[i] == 0)
{
cout<<i<<endl;
break;
}
}
if(i == m[3]+1)
cout<<i<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: