Cod sursa(job #710773)

Utilizator simpleBereczki Cristian simple Data 10 martie 2012 18:49:35
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<stdio.h>
#define MAX(a,b) ((a>b)?a:b)
FILE *f=fopen("flip.in","r"),*g=fopen("flip.out","w");
long long max;
long a[17][17];
int n,m;
void citire()
{
fscanf(f,"%d%d",&n,&m);
for(int j,i=0;i<n;i++)
	{for(j=0;j<m;j++)
		{fscanf(f,"%ld",&a[i][j]);
		}
	}
fclose(f);
}
inline long long suma()
{long long sum;
sum=0;
for(short j,i=0;i<n;i++)
	{for(j=0;j<m;j++)
		{sum=sum+a[i][j];
		}
	}
return sum;
}
void track(int k1,int k2)
{long long S;
short i;
if(k1==m-1 && k2==n-1)
	{S=suma();
	max=MAX(S,max);
	}
else
	if(k1==m-1)
		{track(k1,k2+1);
		for(i=0;i<m;i++)
			{a[k2][i]=a[k2][i]*(-1);
			}
		track(k1,k2+1);
		}
	else
		{track(k1+1,k2);
		for(i=0;i<n;i++)
			{a[i][k1]=a[i][k1]*(-1);
			}
		track(k1+1,k2);
		}
}
int main()
{
citire();
track(0,0);
fprintf(g,"%I64d",max);
fclose(g);
return 0;
}