Cod sursa(job #2055671)

Utilizator emil_cEmil Cinteza emil_c Data 3 noiembrie 2017 16:26:53
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("flip.in");
ofstream g("flip.out");

int a[20][20],m,n,sol=-1000000000,s[20];

int gsol() {
    int sum,ret = 0;
    for (int i=1;i<=n;i++) {
        sum = 0;
      for (int j=1;j<=m;j++) {
            sum+=s[j]*a[i][j];
      }
    ret+=max(sum, -sum);
    }
    return ret;
}

void bkt(int c) {
    if (c == m+1) {
        sol = max(sol, gsol());
        return;
    }
    s[c] = 1; bkt(c+1);
    s[c] = 1; bkt(c+1);
}

int main()
{
    f>>n>>m;
    for (int i=1; i<=m; i++) {
        for (int j = 1; j <= m; j++) {
            f>>a[i][j];
        }
    }
    s[1] = 1;
    bkt(2);
    g<<sol;
    return 0;
}