Cod sursa(job #1799762)

Utilizator PaulStighiStiegelbauer Paul-Alexandru PaulStighi Data 6 noiembrie 2016 19:03:59
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include<fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");

int N,M,Sol;
int T[20][20];
bool V[20];

void Read()
{
    fin>>N>>M;

    for(int i = 1 ; i <= N ; ++i)
        for(int j = 1 ; j <= M ; ++j)
            fin>>T[i][j];
}

void Back(int k)
{
    if(k <= N)
    {
        for(int i = 0 ; i <= 1 ; ++i)
        {
            V[k] = i;
            Back(k+1);
        }
    }
    else
    {
        int S = 0,sc;

        for(int j = 1 ; j <= M ; ++j)
        {
            sc = 0;

            for(int i = 1 ; i <= N ; ++i)
            {
                if(V[i])
                    sc += T[i][j];
                else
                    sc -= T[i][j];
            }

            if(sc < 0)  sc *= -1;

            S += sc;
        }

        Sol = max(Sol,S);
    }
}

void Print()
{
    fout<<Sol<<"\n";
}

int main()
{
    Read();
    Back(1);
    Print();

    fin.close();
    fout.close();
    return 0;
}