Cod sursa(job #491759)

Utilizator mihaif3feier mihai mihaif3 Data 12 octombrie 2010 12:30:40
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>

int m,n, a[16][16];
int max;
//--------------------------------
void read()
{
	int i,j;
	FILE *f = fopen("flip.in","rt");
	fscanf(f,"%d %d", &n,&m);
	for(i=0; i<n; i++)
		for(j=0; j<m; j++)
			fscanf(f,"%d", &a[i][j]);
	fclose(f);
}
//--------------------------------
void solve()
{
	max = -1000;
	for(int x=0; x < (1<<n); x++)
	{
		int sum = 0;
		for(int i=0; i < m; i++)
		{
			int j,s;
			for(j=s=0; j<n; j++)
				s += a[j][i]*((x>>j) & 1? -1: 1);
			sum += (s < 0? -s: s);
		}
		if(sum > max)
			max = sum;
	}
}
//--------------------------------
void print()
{
	FILE *f = fopen("flip.out","wt");
	fprintf(f,"%d", max);
	fclose(f);
}
//--------------------------------
int main(void)
{
	read();
	solve();
	print();
	return 0;
}