Cod sursa(job #2911759)

Utilizator lolismekAlex Jerpelea lolismek Data 1 iulie 2022 21:45:52
Problema Jocul Flip Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("flip.in");
ofstream fout("flip.out");

const int N = 16, inf = 1e9;
int mat[N + 1][N + 1];

int main(){

	int n, m;
	fin >> n >> m;

	for(int i = 1; i <= n; i++)
		for(int j = 1; j <= m; j++)
			fin >> mat[i][j];

	int ans = -inf;
	for(int msk = 0; msk < (1 << n); msk++){
		int sum = 0;
		for(int j = 1; j <= m; j++){
			int tmp1 = 0, tmp2 = 0;
			for(int i = 1; i <= n; i++){
				if( msk & (1 << (i - 1)) )
					tmp1 -= mat[i][j], tmp2 += mat[i][j];
				else
					tmp1 += mat[i][j], tmp2 += mat[i][j];
			}
			sum += max(tmp1, tmp2);
		}
		ans = max(ans, sum);
	}

	fout << ans << '\n';

	return 0;	
}