Cod sursa(job #539060)

Utilizator marius21Petcu Marius marius21 Data 22 februarie 2011 12:27:20
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <cstdio>
#include <cstdlib>

FILE *fin=fopen("flip.in","r");
FILE *fout=fopen("flip.out","w");

int n,m;
int a[32][32];

int main (int argc, char * const argv[]) {
	long long max=-0x3f3f3f3f3f3f3f3fLL;
	fscanf(fin, "%d%d",&n,&m);
	for (int i=0; i<n; i++)
		for (int j=0; j<m; j++)
		{
			fscanf(fin, "%d",&a[i][j]);
		}
	for (int k=0; k<(1<<m); k++)
	{
		long long sum = 0;
		for (int i=0; i<n; i++)
		{
			long long sm = 0;
			for (int j=0; j<m; j++)
				sm+=a[i][j]*((k&(1<<j))?-1:1);
			if (sm<0)
				sm=-sm;
			sum+=sm;
		}
		if (sum>max)
			max=sum;
	}
	fprintf(fout, "%lld\n",max);
	fclose(fin);
	fclose(fout);
    return 0;
}