Cod sursa(job #3163079)

Utilizator andreiiorgulescuandrei iorgulescu andreiiorgulescu Data 30 octombrie 2023 14:54:00
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>

using namespace std;

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

#define int long long

int n,m,a[20][20];
int sum[20];
int ans;
int semn[20];

void afis()
{
    for (int j = 1; j <= m; j++)
        sum[j] = 0;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            sum[j] += semn[i] * a[i][j];
    int cur = 0;
    for (int j = 1; j <= m; j++)
        cur += abs(sum[j]);
    ans = max(ans,cur);
}

void bkt(int pos)
{
    if (pos == n + 1)
        afis();
    else
    {
        semn[pos] = -1;
        bkt(pos + 1);
        semn[pos] = 1;
        bkt(pos + 1);
    }
}

signed main()
{
    in >> n >> m;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            in >> a[i][j];
    bkt(1);
    out << ans;
    return 0;
}