Cod sursa(job #2513936)

Utilizator kokitchyAlastor kokitchy Data 24 decembrie 2019 10:50:02
Problema Jocul Flip Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>

using namespace std;

int Max, sw[20];

void sum(int n, int m, int v[20][20]) {
	int s1 = 0;
	for (int i = 0; i < n; i++) {
		int s2 = 0;
		for (int j = 0; j < m; j++)
			s2 += sw[j] * v[i][j];

		if (s2 < 0)
			s1 -= s2;
		else
			s1 += s2;
	}

	if (s1 > Max)
		Max = s1;
}

void backtracking(int k, int n, int m, int v[20][20]) {
	if (k > m)
		sum(n, m, v);

	else
		for(int i = -1; i <= 1; i++)
			if (i) {
				sw[k] = i;
				backtracking(k + 1, n, m, v);
			}
}

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

	int n, m, v[20][20];
	fin >> n >> m;
	for (int i = 0; i < n; i++)
		for (int j = 0; j < m; j++)
			fin >> v[i][j];

	backtracking(1, n, m, v);

	fout << Max;

	fin.close(), fout.close();

	return 0;
}