Cod sursa(job #2259724)

Utilizator bojemoiRadu Mamaliga bojemoi Data 13 octombrie 2018 17:56:04
Problema Jocul Flip Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <cmath>
using namespace std;

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

int n, m, v[18];
long a[18][18], rnd[18], col[18], smax, s, s0;


void calculare(int k){
    s = 0;
    for(int i = 1; i<=m; ++i){
        long coloana = col[i];
        for(int j = 1; j<=k; ++j){
            coloana-=2*a[v[j]][i];
        }
        s+=abs(coloana);
    }
    if(s>smax) smax = s;

}


void flip(int k){
    for(int i = v[k-1]+1; i<n; ++i){
        v[k] = i;
        calculare(k);
        flip(k+1);
    }


}


int main()
{
    fin>>n>>m;
    s0 = 0;
    for(int i = 1; i<=n; ++i){
        for(int j = 1; j<=m; ++j){
            fin>>a[i][j];
            rnd[i]+=a[i][j];
            col[j]+=a[i][j];
            s0+=a[i][j];
        }
    }
    v[0] = 0;

    flip(1);
    fout<<smax;




    return 0;
}