Pagini recente » Cod sursa (job #1718640) | Cod sursa (job #2178446) | Cod sursa (job #2174368) | Cod sursa (job #385314) | Cod sursa (job #75881)
Cod sursa(job #75881)
# include <stdio.h>
const long int T=3;
long int nco,sol,cam[20],g,n,weight[20];
void gen(long int i, long int lf)
{
long int j;
for (j=1;j<=nco;j++)
if (cam[j]+weight[i]<=g)
{
cam[j]+=weight[i];
if (i+1<=lf) gen(i+1,lf);
else if (sol>nco) sol=nco;
cam[j]-=weight[i];
}
nco++;
cam[nco]=weight[i];
if (i+1<=lf) gen(i+1,lf);
else if (sol>nco) sol=nco;
cam[nco]=0;
nco--;
}
void citire(FILE *f);
int main()
{
FILE *f=fopen("zebughil.in","r");
FILE *gg=fopen("zebughil.out","w");
long int i,fs;
for (i=1;i<=T;i++)
{
citire(f);
sol=1000;
gen(1,n);
fprintf(gg,"%ld\n",sol);
}
fcloseall();
return 0;
}
////////////////////////////////
// INPUT and OUTPUT
////////////////////////////////
void citire(FILE *f)
{
fscanf(f,"%ld%ld",&n,&g);
long int i;
for (i=1;i<=n;i++) fscanf(f,"%ld",&weight[i]);
}