Cod sursa(job #2242144)

Utilizator DordeDorde Matei Dorde Data 17 septembrie 2018 21:34:10
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f ("flip.in");
ofstream g ("flip.out");
int v [17][17] , n , m;
bool flip [17];
inline int bestop (){
    int i , j , s = 0;
    for(i = 1 ; i <= m ; ++ i){
        int S = 0 ;
        for(j = 1 ; j <= n ; ++ j)
            if (flip [j])
                S += (0 - v [j][i]);
            else
                S += v [j][i];
        if (S > 0)
            s += S;
        else
            s += (0 - S);
    }
    return s;
}
int main()
{
    int i , j , best = -1000000000;
    f >> n >> m;
    for(i = 1 ; i <= n ; ++ i)
        for(j = 1 ; j <= m ; ++ j)
            f >> v [i][j];
    for(i = 1 ; i < (1 << n) ; ++ i){
        for(j = 0; (1 << j) <= i ; j ++)
            if ((1 << j) & i)
                 flip [j + 1] = 1;
            else
                flip [j + 1] = 0;
        best = max (best , bestop ());
    }
    g << best;
    return 0;
}