Cod sursa(job #1817967)

Utilizator ducu34Albastroiu Radu Gabriel ducu34 Data 28 noiembrie 2016 18:34:11
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.26 kb
//
//  main.cpp
//  Flip
//
//  Created by Albastroiu Radu on 11/28/16.
//  Copyright © 2016 Albastroiu Radu. All rights reserved.
//

#include <iostream>
#include <fstream>
#include <algorithm>
#include <unordered_map>
#include <vector>

using namespace std;

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


// data strctures
int a[32][32], b[32][32], n, m, i, j, v[32], smax;

void Calcul()
{
    int i,j,stotal;
    
    for(j = 1; j <= m; j++)
        if(v[j] == 1)
            for(i = 1; i <= n; i++)
                b[i][j] = -a[i][j];
        else
            for(i = 1; i <= n; i++)
                b[i][j] = a[i][j];
    
    stotal = 0;
    for(i = 1; i <= n; i++)
    {
        int s = 0;
        
        for(j = 1; j <= m; j++)
            s += b[i][j];
        
        if(s<0)
            stotal -= s;
        else
            stotal += s;
    }
    
    smax = max(smax,stotal);
}
void Gen(int top)
{
    int i;
    
    if(top==m+1)
        
        Calcul();
    else
        
        for(i=0;i<=1;i++)
        {
            v[top]=i;
            
            Gen(top+1);
        }
}

int main()
{
    fin >> n >> m;
    for(i = 1; i <= n; i++)
        for(j = 1; j <= m; j++)
            fin >> a[i][j];
    
    Gen(1);
    
    fout << smax;
    
    return 0;
}