Cod sursa(job #1298776)

Utilizator wGEORGEWGeorge Cioti wGEORGEW Data 23 decembrie 2014 07:52:24
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int Mat[16][16];
int N,M;
int flip_linie[16];
int max_sum=-1000000000;
void flip_coloane()
{
    int suma_totala=0;
    for(int j=0;j<M;j++)
    {
        int s=0;
        for(int i=0;i<N;i++)
        {
            if(flip_linie[i]==1)
                s=s-Mat[i][j];
            else
                s=s+Mat[i][j];
        }
        if(s<0)
            suma_totala+=-s;
        else
            suma_totala+=s;
    }
    max_sum=max(max_sum,suma_totala);
}
void rec(int poz)
{
    if(poz==N)
        flip_coloane();
    else
    {
        flip_linie[poz]=0;
        rec(poz+1);
        flip_linie[poz]=1;
        rec(poz+1);
    }
}
int main()
{
    in >> N >> M;
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < M; ++j) {
            in >> Mat[i][j];
        }
    }
    rec(0);
    out<<max_sum;
    return 0;
}