Cod sursa(job #1317989)

Utilizator bghimisFMI Ghimis Bogdan bghimis Data 15 ianuarie 2015 14:43:23
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul II Marime 0.83 kb
#include<fstream>
using namespace std;

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

int v[18][18];
long s,suma,maxim= -2000000;

int n,m;
 
void linii(int a)
{  
    int i;
    if(a==n+1)
    {
        if(suma>maxim)
        maxim=suma;
        suma=0;
    return;
    }
 
else
    {
        for(i=1;i<=m;i++)
        s=s+v[a][i];
 
    if(s>0)
         
        suma=suma+s;
    else
        suma=suma-s;
        s=0;
        linii(a+1);
    }
return;
}
 
void coloane(int b)
{  
    int i;
    if(b==m+1)
    linii(1);
else
    {
        coloane(b+1);
        for(i=1;i<=n;i++)
        v[i][b]=-v[i][b];
        coloane(b+1);
        for(i=1;i<=n;i++)
        v[i][b]=-v[i][b];
    }
return;
}
 
 
int main()
{
    int i,j;
    fin>>n>>m;
    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
        fin>>v[i][j];
coloane(1);
fout<<maxim;
return 0;
}