Cod sursa(job #1997198)

Utilizator skoda888Alexandru Robert skoda888 Data 3 iulie 2017 17:01:53
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <iostream>
#include <fstream>
#include <cmath>

int tabla[100][100];
int N;
int M;
long long sumaMaxima = -2000000;
int semn[100];

void solutie()
{
    long long suma = 0;

    for(int j = 1; j <= M; j++)
    {
        long long suma_ = 0;
        for(int i = 1; i <= N; i++)
        {
            suma_ += tabla[i][j] * semn[i];
        }
        suma += std::max(suma_, suma_ * (-1));

    }
    sumaMaxima = std::max(suma, sumaMaxima);
}
void backtracking(int k)
{
    if(k > N)
    {
        solutie();
    }
    else{
        semn[k] = 1;
        backtracking(k + 1);
        semn[k] = -1;
        backtracking(k + 1);
    }

}
int main()
{

    std::fstream out_flip("flip.out", std::ios::out);
    std::fstream in_flip("flip.in", std::ios::in);

    in_flip >> N;
    in_flip >> M;

    for(int i = 1; i <= N; i++)
    {
        for(int j = 1; j <= M; j++)
        {
            in_flip >> tabla[i][j];
        }
    }
    backtracking(1);
    out_flip << sumaMaxima;
    return 0;
}