Cod sursa(job #1437024)

Utilizator saibot94Schuszter Ioan-Cristian saibot94 Data 16 mai 2015 19:19:38
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>

using namespace std;

long n,m, max_sum, mat[100][100], l[100];

bool sol(int k){
    return (k == n-1);
}

void backt(int k){
    for(int i = 0; i < 2; i++){
        l[k] = i;
        if(sol(k)){
            long sum = 0;
            for(int j = 0; j < m; j++){
                long s =0;
                for(int p = 0; p < n; p++)
                    if(l[p] == 0)
                        s -= mat[p][j];
                    else s += mat[p][j];
                if(s < 0)
                    sum -= s;
                else sum += s;
            }
            if(sum >= max_sum)
                max_sum= sum;
        }
        else
            backt(k+1);
    }
}

int main()
{
    ifstream in("flip.in");
    in >> n >> m;
    for(int i = 0; i < n; i++)
        for(int j = 0; j < m; j++)
            in >> mat[i][j];

    backt(0);

    cout<< max_sum << endl;
}