Cod sursa(job #3246290)

Utilizator Andrei24543Andrei Hulubei Andrei24543 Data 2 octombrie 2024 17:16:38
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <bits/stdc++.h>
using namespace std;

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

int a[20][20] , n , m;
int st[20] , smax;

void Update()
{
    int sum , sumTot = 0;
    for(int i = 1;i <= n;i++)
    {
        sum = 0;
        for(int j = 1;j <= m;j++)
            if(st[j] == 0) sum += a[i][j];
            else sum -= a[i][j];
        if(sum < 0) sum = -sum;
        sumTot += sum;
    }
    if(sumTot > smax) smax = sumTot;
}

void Back(int top)
{
    if(top == m + 1) Update();
    else for(int i = 0;i <= 1;i++)
    {
        st[top] = i;
        Back(top + 1);
    }
}

int main()
{
    fin >> n >> m;
    for(int i = 1;i <= n;i++)
        for(int j = 1;j <= m;j++)
            fin >> a[i][j];
    smax = INT_MIN;
    Back(1);
    fout << smax;
    return 0;
}
/**
5 3
4 -2 2 = 0
3 -1 5 = 3
2 0 -3 = -5
4 1 -3 = -8
5 -3 2 = 0
-------
1 1 0
*/