Cod sursa(job #2508757)

Utilizator HaripAl3xHarip Alexandru HaripAl3x Data 12 decembrie 2019 22:04:38
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#define NM 20

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

void bkt(int l, int c);
int suma();
void read();

int n, m, a[NM][NM],Smax;

int main()
{
	read();
	Smax = 0;
	bkt(1,1);
	fout << Smax << '\n';
	return 0;


}

void read()
{
	fin >> n >> m;
	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= m; j++)
			fin >> a[i][j];
}

int suma()
{
	int x = 0;
	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= m; j++)
			x += a[i][j];
	return x;
}

void bkt(int l, int c)
{
	int S = 0;
	S = suma();
	if (S > Smax)
		Smax = S;
	if (l > n || c > m)
		return ;
	bkt(l + 1, c);
	for (int i = 1; i <= m; i++)
		a[l][i] = -a[l][i];
	bkt(l + 1, c);
	for (int i = 1; i <= m; i++)
		a[l][i] = -a[l][i];
	bkt(l, c + 1);
	for (int i = 1; i <= n; i++)
		a[i][c] = -a[i][c];
	bkt(l, c + 1);
	for (int i = 1; i <= n; i++)
		a[i][c] = -a[i][c];
}