Cod sursa(job #2143261)

Utilizator PetyAlexandru Peticaru Pety Data 25 februarie 2018 19:06:51
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, m, v[19][19], semn[18], maxx, sum;

void calculate() {
  sum = 0;
  for (int i = 1; i <= n; i++) {
    int c = 0;
    for (int j = 1; j <= m; j++)
      c += v[i][j] * semn[j];
    sum += abs(c);
  }
  maxx = max (maxx, sum);
}
void backt (int k) {
  if (k == m + 1) {
    calculate();
    return;
  }
  semn[k] = 1;
  backt(k + 1);
  semn[k] = -1;
  backt(k + 1);
}
int main()
{
  fin >> n >> m;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++)
      fin >> v[i][j];
  backt(1);
  fout << maxx;
  return 0;
}