Cod sursa(job #459347)

Utilizator miculprogramatorA Cosmina - vechi miculprogramator Data 29 mai 2010 12:49:54
Problema Jocul Flip Scor 20
Compilator c Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>
#include <math.h>

int a[20][20];
int st[20];
int m, n, i, j, k;
int Max = -10000000;

void suma ()
{
	int suma_linie = 0, suma_total = 0;
	for (i=1; i<=m; ++i)
	{
		suma_linie = 0;
		for (j=1; j<=n; ++j)
		{
			if (st[j] == 1)
				suma_linie += a[j][i];
			else
				suma_linie = suma_linie + a[j][i] * (-1);
		}
		suma_total += abs(suma_linie);
	}
	if (Max < suma_total)
		Max = suma_total;
}

void back (int k)
{
	for (i=1; i<=2; ++i)
	{
		st[k] = i;
		if (k < n)
			back (k + 1);
		else
			suma ();
	}
}

int main ()
{
	FILE *f = fopen ("flip.in","r");
	FILE *g = fopen ("flip.out","w");
	fscanf (f,"%d %d", &n, &m);
	for (i=1; i<=n; ++i)
		for (j=1; j<=m; ++j)
			fscanf (f,"%d", &a[i][j]);
		
	back(1);
		
	fprintf (g,"%d", Max);	
	
	fclose(f);
	fclose(g);
	return 0;
}