Cod sursa(job #97567)

Utilizator P1gl3TGilca Mircea Alexandru P1gl3T Data 7 noiembrie 2007 17:49:17
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>
#include<stdlib.h>
int t[18][17],x,y,s=0;
void inverseaza(int l)
{
	for(int j=0;j<x;j++)
		t[0][j]-=2*t[l][j];
}
void uninverseaza(int l)
{
	for(int j=0;j<x;j++)
		t[0][j]+=2*t[l][j];
}
void verifica(int l)
{
	int ss=0,i;
	for(i=0;i<x;i++)
		ss+=abs(t[0][i]);
	if(ss>s)
		s=ss;
	for(i=l+1;i<=y;i++)
	{
		inverseaza(i);
		verifica(i);
		uninverseaza(i);
		verifica(i);
	}
}

int main()
{
	int i,j;
	FILE *in=fopen("jocul.in","r"), *out=fopen("jocul.out","w");
	fscanf(in,"%d%d",&y,&x);
	for(i=1;i<=y;i++)
		for(j=0;j<x;j++)
		{
			fscanf(in,"%d",&t[i][j]);
			t[0][j]+=t[i][j];
		}
	fclose(in);
	verifica(0);
	fprintf(out,"%d\n",s);
	return 0;
}