すごくくだらないすれ 第3章
■ このスレッドは過去ログ倉庫に格納されています
0044無責任だが
NGNG#define _dataSiz 5
#define _gmax 8
struct { char nm;
int g;
int k;
} datas[_dataSiz]={{'a',4,450},{'b',5,570},{'c',2,225},{'d',1,110},{'e',6,670}};
int kmax=-1;
int n[_dataSiz]={0,};
int nmax[_dataSiz];
void func(int r)
{int i,sz;
if(r>=_dataSiz)
{
int g=0,k=0;
for(i=0;i<_dataSiz;i++)g += datas[i].g*n[i];
if(g>_gmax) return ;
for(i=0;i<_dataSiz;i++)k += datas[i].k*n[i];
if(k>kmax){kmax=k; for(i=0;i<_dataSiz;i++)nmax[i]=n[i];};
}else {
sz=_gmax/datas[r].g;
for(i=0;i<=sz;i++){
n[r]=i;
func(r+1);
}
}
}
int main()
{int i;
func(0);
for(i=0;i<_dataSiz;i++) printf("%c*%d ",datas[i].nm,nmax[i]);
printf("%5d\n",kmax);
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています