Cod sursa(job #2418907)

Utilizator vladponceaVlad Poncea vladponcea Data 6 mai 2019 19:36:24
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <bits/stdc++.h>

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

int tabla[20][20], n, m, maxim;

int suma(){
	int s = 0;
	int s2 = 0;
	for (int i = 0; i < n; i++){
		s = 0;
		for (int j = 0; j < m; j++){
			s += tabla[i][j];
		}
		if (s < 0){
			s *= -1;
		}
		s2 += s;
	}
	return s2;
}

void schimb(int k){
	for (int i = 0; i < n; i++){
		tabla[i][k] *= -1;
	}
}

void bk(int k){
	if(k > m){
		maxim = max(maxim, suma());
	}else{
		bk(k+1);
		schimb(k);
		bk(k+1);
	}
}

int main(){
  in >> n >> m;
  for (int i = 0; i < n; i++){
  	for (int j = 0;j < m; j++){
  		in >> tabla[i][j];
  	}
  }

  bk(1);
  out << maxim;

  return 0;
}