Cod sursa(job #1828276)

Utilizator escapeMCroCoroian Sebastian escapeMCro Data 12 decembrie 2016 23:33:40
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#include <iostream>
using namespace std;

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


int a[25][25], b[25][25];
int n,m;

int main()
{
    int suma = 0,better;
    fin >> n >> m;

    for(int i = 0 ; i < n ; ++ i)
        for(int j = 0 ; j < m ; ++ j)
        {
            fin >> a[i][j];
            suma += a[i][j];
        }
    for(int k = 0 ; k < (1 << m) ; ++ k)
    {
        better=0;
        for(int i = 0 ; i < n ; ++ i)
        {
            int sum = 0;
            for(int j = 0 ; j < m ; ++ j)
                if(k & (1 << j))
                {
                    b[i][j] = -a[i][j];
                    sum += b[i][j];
                }
                else
                    sum += a[i][j];

            better += max(sum, -sum);
        }
        suma = max(suma, better);
    }
    fout << suma;
}