Cod sursa(job #639931)

Utilizator bogfodorBogdan Fodor bogfodor Data 24 noiembrie 2011 13:27:58
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <cstdio>
#include <algorithm>

using namespace std;

FILE *fin=freopen("flip.in","r",stdin);
FILE *fout=freopen("flip.out","w",stdout);
int n,m,a[20][20];
int smax=0;
int sl[20],sc[20];


void citire()
{
    scanf("%d %d",&n,&m);
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            scanf("%d",&a[i][j]);
}

int suma()
{
    int s=0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
            if(( sl[i]+sc[j])%2==0)
                s+=a[i][j];
            else
                s-=a[i][j];
    }
    return s;
}

void backc(int t)
{
    if(t==m){
        smax=max(smax,suma());
        return;
    }
    for(int v=0;v<=1;v++)
    {
        sc[t]=v;
        backc(t+1);
    }
}

void backl(int k)
{
    if(k==m){
        backc(0);
        return;
    }
    for(int v=0;v<=1;v++)
    {
        sc[k]=v;
        backl(k+1);
    }
}

int main()
{
    citire();
    backc(0);
    printf("%d\n",smax);
    return 0;
}