Cod sursa(job #1622949)

Utilizator arvlgeArdeleanu Vlad George arvlge Data 1 martie 2016 16:07:40
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include<fstream>
using namespace std;

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

int n,m,a[17][17],l[17],c[17];
long long suma_max=-999999999,suma;

void calc(){
    suma=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++){
            if(l[i]==c[j])
                suma+=a[i][j];
            else
                suma-=a[i][j];
        }
    if(suma>suma_max)
        suma_max=suma;
}

void bk_coloana(int h){
    int j;
    for(j=0;j<=1;j++){
        c[h]=j;
        if(h==m)
            calc();
        else
            bk_coloana(h+1);
    }
}

void bk_linie(int k){
    int i;
    for(i=0;i<=1;i++){
        l[k]=i;
        if(k==n)
            bk_coloana(1);
        else
            bk_linie(k+1);
    }
}

int  main(){
    in>>n>>m;

    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            in>>a[i][j];

    bk_linie(1);

    out<<suma_max;
    out.close();

    return 0;
}