Cod sursa(job #955606)

Utilizator crisbodnarCristian Bodnar crisbodnar Data 1 iunie 2013 10:20:25
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, m, a[20][20], x[20], maxim;
bool c[20];

void Calculare()
{
    int sum = 0;
    for(int j=1; j <=m; j++)
    {
        int sum2 = 0;
        for(int i=1; i<=n; i++)
        if(c[i]) sum2 += -a[i][j];
        else sum2 += a[i][j];

        if(sum2 < -sum2) sum2 = -sum2;
        sum += sum2;

        if(maxim < sum) maxim = sum;
    }
}

void Back(int k)
{
    if(k == n+1) Calculare();
    else
        for(int j=0; j<=1; j++)
        {
            c[k] = j;
            Back(k+1);
        }
}

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

    Back(1);
    fout<<maxim;

    return 0;
}