Cod sursa(job #2800834)

Utilizator dumitrandreiAndrei Dumitran dumitrandrei Data 14 noiembrie 2021 03:50:22
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>

using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
long long a[50][50], ma, sum, v[50], m, n, i, j, k, ok, s;
int main() {
  fin >> m >> n;
  for (i = 1; i <= m; i++) {
    for (j = 1; j <= n; j++) {
      fin >> a[i][j];
    }
  }
  k = 1;
  v[1] = 0;
  while (k > 0) {
    ok = 0;
    while (v[k] < 1 && ok == 0) {
      v[k]++;
      if (v[k] != 0) {
        for (i = 1; i <= n; i++) {
          a[k][i] = a[k][i] * (-1);
        }
      }
      ok = 1;
    }
    if (ok != 0) {
      if (m == k) {
        sum = 0;
        for (i = 1; i <= n; i++) {
          s = 0;
          for (j = 1; j <= m; j++) {
            s = s + a[j][i];
          }
          if (s < 0)
            sum = sum - s;
          else
            sum = sum + s;
        }
        if (sum > ma)
          ma = sum;
      } else {
        k++;
        v[k] = -1;
      }
    } else {
      k--;
      if (v[k] != 0) {
        for (i = 1; i <= n; i++)

        {
          a[k][i] = a[k][i] * (-1);
        }
      }
    }
  }
  fout << ma;
  return 0;
}