Cod sursa(job #2999365)

Utilizator user12345user user user user12345 Data 10 martie 2023 21:29:57
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <bits/stdc++.h>
using namespace std;

string fileName = "flip";
ifstream fin(fileName + ".in");
ofstream fout(fileName + ".out");

int a[17][17], n, m;
long long col[17];

int main() {

    fin >> n >> m;
    long long total = 0;
    long long maxi = LLONG_MIN;
    short i, j;
    int k;

    for (i = 1; i <= n; i++)
        for (j = 1; j <= m; j++)
            fin >> a[i][j];

    for (k = 0; k < (1 << n); k++) {

        for (j = 1; j <= m; j++)
            col[j] = 0;

        total = 0;

        for (i = 1; i <= n; i++)
            for (j = 1; j <= m; j++)
                if (k & (1 << (i - 1)))
                    total -= a[i][j], col[j] -= a[i][j];
                else
                    total += a[i][j], col[j] += a[i][j];

        for (j = 1; j <= m; j++)
            if (col[j] < 0)
                total -= (col[j] << 1);

        maxi = max(maxi, total);
    }

    fout << maxi;

    return 0;
}