Cod sursa(job #2890520)

Utilizator hobbitczxdumnezEU hobbitczx Data 15 aprilie 2022 20:14:11
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <bits/stdc++.h>
#define ll long long
#define INF 0x3F3F3F3F
using namespace std;

const string fisier = "flip";

ifstream fin (fisier + ".in");
ofstream fout (fisier + ".out");

const int N_MAX = 25;

int s[N_MAX] , a[N_MAX][N_MAX] , ans = -INF , m , n;

void solve(){
    int sum = 0;
    for (int i=1; i<=n; i++){
        int cnt = 0;
        for (int j=1; j<=m; j++){
            cnt += s[j] * a[i][j];
        }
        sum += max(cnt , -cnt);
    }
    ans = max(ans , sum);
}

void bkt (int pas){
    if (pas > m){
        solve();
    }
    else{
        s[pas] = 1;
        bkt(pas + 1);
        s[pas] = -1;
        bkt(pas + 1);
    }
}
int main(){
    ios_base::sync_with_stdio(false);
    fin >> n >> m;
    for (int i=1; i<=n; i++){
        for (int j=1; j<=m; j++){
            fin >> a[i][j];
        }
    }
    bkt(1);
    fout << ans;
}