Cod sursa(job #1597195)

Utilizator oanaroscaOana Rosca oanarosca Data 11 februarie 2016 19:45:24
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>

using namespace std;

int lin, col, l, c, m[17][17], sol = -(1 << 30), sc[17];

void rezolva() {
  int stot = 0, sum = 0;
  for (l = 1; l <= lin; l++) {
    sum = 0;
    for (c = 1; c <= col; c++)
      sum += sc[c]*m[l][c];
    sum > 0 ? stot += sum : stot -= sum;
  }
  sol = max(sol, stot);
}

void bt (int p) {
  if (p > col) {
    rezolva();
    return;
  }
  sc[p] = 1; bt(p+1);
  sc[p] = -1; bt(p+1);
  sc[p] = 1;
}

int main () {
  ifstream fi("flip.in");
  ofstream fo("flip.out");
  fi >> lin >> col;
  for (l = 1; l <= lin; l++)
    for (c = 1; c <= col; c++)
      fi >> m[l][c];
  bt(1);
  fo << sol;
  return 0;
}