Cod sursa(job #1382252)

Utilizator antirsi96Sergiu Marin antirsi96 Data 8 martie 2015 17:42:55
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <algorithm>
using namespace std;

int a[20][20], sign[20], N, M, best;

void solve() {
	int sum = 0, nr = 0;
	for(int i = 0; i < N; i++) {
		nr = 0;
		for(int j = 0; j < M; j++)
			nr += a[i][j] * sign[j];
		sum += max(nr, -nr);
	}
	best = max(best, sum);
}

void back(int k) {
	if(k == M) {
		solve();
		return;
	}
	sign[k] = 1;
	back(k + 1);
	sign[k] = -1;
	back(k + 1);
}

int main() {
	freopen("flip.in", "r", stdin); 
	freopen("flip.out", "w", stdout);

	scanf("%d%d", &N, &M);
	for(int i = 0; i < N; i++)
		for(int j = 0; j < M; j++)
			scanf("%d", &a[i][j]);
	back(0);
	printf("%d", best);
	return 0;
}