Cod sursa(job #2043527)

Utilizator eduard2000Cosma Eduard eduard2000 Data 20 octombrie 2017 10:15:15
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int a[17][17],i,j,n,m,Semn[40],rez;
int suma()
{
    int i,j,sum=0,sol=0;
    for(i=1;i<=n;i++)
    {
        sum=0;
        for(j=1;j<=m;j++)
            sum+=Semn[j]*a[i][j];
        sol+=max(sum,-sum);
    }
    return sol;
}
void backtrack(int poz)
{
    if(poz==m+1)
    {
        rez=max(rez,suma());
        return ;
    }
    Semn[poz]=1;
    backtrack(poz+1);
    Semn[poz]=-1;
    backtrack(poz+1);
}
int main()
{
    fin>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        {
            fin>>a[i][j];
            rez+=a[i][j];
        }
    backtrack(1);
    fout<<rez;
}