Cod sursa(job #1276297)

Utilizator fluture.godlikeGafton Mihnea Alexandru fluture.godlike Data 26 noiembrie 2014 10:17:06
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <stdio.h>
FILE *fin, *fout;
int m, n, sum, sum1, max;
bool *v;
unsigned int pt[18], temp;
int main()
{
	fin = fopen("flip.in", "r");
	fout = fopen("flip.out", "w");
	pt[0] = 1;
	for(int i = 1; i< 17; i++) pt[i] = pt[i-1]*2;
	fscanf(fin, "%d%d", &n, &m);
	v = new bool[n];
	int arr[n][m];
	for(int i =0; i< n; i++)
	{
		for(int j = 0; j< m; j++)
		{
			fscanf(fin, "%d", &arr[i][j]);
		}
	}
	for(unsigned int i = 0; i< pt[n]; i++)
	{
		for(int j  =0; j< n; j++) v[j] = 0;
		temp = i;
		for(int j = n-1; temp; j--)
		{
			v[j] = temp%2;
			temp/=2;
		}
		sum1 = 0;
		for(int j = 0; j< m; j++)
		{
			sum = 0;
			for(int k = 0; k< n; k++)
			{
				sum+=(v[k])?arr[k][j]:0-arr[k][j];
			}
			sum1 += (sum>=0)?sum:0-sum;
		}
		max=(sum1 > max)?sum1:max;
	}
	fprintf(fout, "%d\n", max);
	fclose(fin);
	fclose(fout);
	return 0;
}