Cod sursa(job #75881)

Utilizator MarcvsHdrMihai Leonte MarcvsHdr Data 6 august 2007 14:42:38
Problema Zebughil Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
# 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]);
}