Cod sursa(job #2225548)

Utilizator Alex03Runcan Alexandru Alex03 Data 27 iulie 2018 15:05:05
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fin("flip.in");ofstream fout("flip.out");
int a[17][17],s[17], answer, n, m;

void Solve(int k)
{
	if (k == n+1)
	{
		int tempans = 0;
		for (int i = 1; i <= m; i++)
		{
			if (s[i] > 0 ) tempans += s[i];
			else tempans += -1 * s[i];
		}
		answer = max(answer, tempans);
		return;
	}

	Solve(k + 1);

	for(int i = 1; i <= m; i++)
		s[i] -= 2 * a[k][i];
	
	Solve(k + 1);

	for (int i = 1; i <= m ; i++)
	{
		s[i] += 2 * a[k][i];
	}
}

int main()
{
	fin >> n >> m;
	for (int i = 1; i <= n; i++)
		for(int j = 1; j <= m; j++)
		{
			fin >> a[i][j];
			s[j] += a[i][j];
		}
	Solve(1);
	fout << answer;
	return 0;
}