Cod sursa(job #873440)

Utilizator alexblackFMI - Dumitrache Alexandru alexblack Data 7 februarie 2013 11:20:41
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("flip.in");
ofstream out("flip.out");
int const N=20;
bool plinie[N];
int n,m,maxim,mat[N][N];
int abs(int x)
{
    if(x>0) return x;
    return -x;
}
void calcul()
{
    int total=0,coloana;
    for(int j=1;j<=m;j++)
    {
        coloana=0;
        for(int i=1;i<=n;i++)
            if(plinie)  coloana+=mat[i][j];
            else        coloana-=mat[i][j];
        total+=abs(coloana);
    }
    if(total>maxim) maxim=total;
}
void back(int p)
{
    if(p==n+1){calcul();return;}
    plinie[p]=true;     back(p+1);
    plinie[p]=false;    back(p+1);
}
int main()
{
    in>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            in>>mat[i][j];
    back(1);    out<<maxim<<"\n";
    return 0;
}