Cod sursa(job #1168651)

Utilizator TataruTataru Mihai Tataru Data 9 aprilie 2014 10:35:11
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <cmath>
#define inFile "flip.in"
#define outFile "flip.out"

using namespace std;

int m,n,a[17][17],semn[17],Max=0;

ifstream fin(inFile);
ofstream fout(outFile);

void citire()
{
    fin>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            fin>>a[i][j];
    fin.close();
}

void sMax()
{
    int sCrt,s=0;
    for(int i=1;i<=n;i++)
    {
        sCrt=0;
        for(int j=1;j<=m;j++)
            sCrt+=a[i][j]*semn[j];
        s+=max(sCrt,-sCrt);
    }
    Max=max(Max,s);
}

void recursie(int ct)
{
    if(ct==m+1)
        {
            sMax();
            return;
        }
    semn[ct]=-1;
    recursie(ct+1);
    semn[ct]=1;
    recursie(ct+1);
}

int main()
{
    citire();
    recursie(1);
    fout<<Max;
    fout.close();
}