Cod sursa(job #618628)

Utilizator mihaibogdan10Mihai Bogdan mihaibogdan10 Data 15 octombrie 2011 18:24:38
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<cstdio>

int lin, col, sumaMax;
int stivaLin[17];
int a[17][17];

void ActualizareMax()
{
	int i, j, s, sum;
	
	sum = 0;
	for(j = 1; j <= col; j++)
	{
		s = 0;
		for(i = 1; i <= lin; i++) s += stivaLin[i] * a[i][j];
		s = s < 0 ? -s : s;
		sum += s;
	}	
	if(sumaMax < sum) sumaMax = sum;
}

void Back(int top)
{
	if(top == lin + 1)
	{
		ActualizareMax();
		return ;
	}
	
	stivaLin[top] = -1;
	Back(top + 1);
	stivaLin[top] = 1;
	Back(top + 1);
}

int main()
{
	int i, j;
	
	freopen("flip.in", "r", stdin);
	freopen("flip.out", "w", stdout);
	
		scanf("%d%d", &lin, &col);
		for(i = 1; i <= lin; i++)
			for(j = 1; j <= col; j++)
				scanf("%d", &a[i][j]);
	
	Back(1);
	
	fclose(stdin);
		printf("%d\n", sumaMax);
	fclose(stdout);
	
	return 0;
}