Cod sursa(job #2589697)

Utilizator cyg_vladioanBirsan Vlad cyg_vladioan Data 26 martie 2020 18:44:11
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
const int NMAX = 16;
const int MMAX = 16;
int a[NMAX + 5][MMAX + 5] , sum[MMAX + 5];
int main()
{
    freopen("flip.in" , "r" , stdin);
    freopen("flip.out" , "w" , stdout);
    int n , m , i , j , bitmask , s , smax;
    scanf("%d%d" , &n , &m);
    for(i = 0 ; i < n ; i ++)
        for(j = 0 ; j < m ; j ++)
            scanf("%d" , &a[i][j]);
    smax = 0;
    for(bitmask = 0 ; bitmask < (1 << n) ; bitmask ++)
    {
        memset(sum , 0 , sizeof(sum));
        for(i = 0 ; i < n ; i ++)
            for(j = 0 ; j < m ; j ++)
                if((bitmask & (1 << i)) != 0)
                    sum[j] = sum[j] - a[i][j];
                else
                    sum[j] = sum[j] + a[i][j];
        s = 0;
        for(j = 0 ; j < m ; j ++)
            s = s + abs(sum[j]);
        smax = max(s , smax);
    }
    printf("%d\n" , smax);
    return 0;
}