Cod sursa(job #723420)

Utilizator cdascaluDascalu Cristian cdascalu Data 25 martie 2012 14:33:05
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
int n,m,a[16][16],flip[16],max;
void read()
{
	FILE*f=fopen("flip.in","r");
	fscanf(f,"%d%d",&n,&m);
	int i,j;
	for(i=0;i<n;++i)
		for(j=0;j<m;++j)
		{fscanf(f,"%d",&a[i][j]);max+=a[i][j];}
	fclose(f);
}
int abs(int x)
{
	if(x<0)return x*(-1);
	return x;
}
void verif()
{
	int i,j,sum,rez=0;
	for(i=0,sum=0;i<n;++i)
	{
		sum=0;
		for(j=0;j<m;++j)
		sum+=a[i][j]*flip[j];
		rez+=abs(sum);
	}
	if(rez>max)max=rez;
}
void back(int k)
{
	if(k==m)
		verif();
	else
	{
		flip[k]=1;
		back(k+1);
		flip[k]=-1;
		back(k+1);
	}
}
int main()
{
	read();
	back(0);
	FILE*g=fopen("flip.out","w");
	fprintf(g,"%d\n",max);
	fclose(g);
	return 0;
}