Cod sursa(job #956231)

Utilizator dunhillLotus Plant dunhill Data 2 iunie 2013 16:05:24
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#define INF 0x3f3f3f3f
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int N, M, S, ANS = (-1) * INF;
int x[17];
int a[17][17];
inline void solve() {
	S = 0; int SI = 0; int i, j;
	for (i = 1; i <= N; ++i) {
		for (j = 1; j <= M; ++j) 
			if (x[j]) SI -= a[i][j];
			else 
				SI += a[i][j];
		if (SI < -SI) SI = -SI; 
		S += SI; SI = 0;
	}
	if (S > ANS) ANS = S;
}
void back(int k) {
	for (int i = 0; i <= 1; ++i) {
		x[k] = i;
		if (k == M) solve();
		else 
			back(k + 1);
	}
}
int main() {
	fin >> N >> M;
	for (int i = 1; i <= N; ++i) 
		for (int j = 1; j <= M; ++j) fin >> a[i][j];
	back(1);
	fout << ANS << '\n';
	return 0;
}