Cod sursa(job #1639590)

Utilizator woogiefanBogdan Stanciu woogiefan Data 8 martie 2016 12:56:14
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <climits>

using namespace std;

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

int Map[17][17] , n , m , x[50];
int suma , sumaMax = INT_MIN;

void Read(){
    fin >> n >> m;
    for(int i = 1 ; i <= n ; i++)
        for(int j = 1 ; j <= m ; j++)
            fin >> Map[i][j];
}

void Sum(){
    int s;
    for(int i = 1 ; i <= n ; i++){
        s = 0;
        for(int j = 1 ; j <= n ; j++){
            s += Map[i][j] * x[j];
        }
        if(s < 0) suma -= s;
        else suma += s;
    }
}

void Back(int k){
    if(k > m){
        suma = 0;
        Sum();
        if(suma > sumaMax) sumaMax = suma;
    }
    else for(int i = 0 ; i <= 1 ; i++){
        x[k] = (i==0?-1:1);
        Back(k + 1);
    }
}

int main()
{
    Read();
    Back(1);

    fout << sumaMax;

    return 0;
}