Cod sursa(job #2887732)

Utilizator Ilie_MityIlie Dumitru Ilie_Mity Data 10 aprilie 2022 08:18:00
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
//Ilie Dumitru
#include<cstdio>

int N, M;
int mat[20][20], sume[20];

int max(int lines)
{
    int i, j, x=0;
    for(i=0;i<M;++i)
        sume[i]=0;
    for(i=0;i<N;++i)
        for(j=0;j<M;++j)
            if(lines&(1<<i))
                sume[j]-=mat[i][j];
            else
                sume[j]+=mat[i][j];
    for(i=0;i<M;++i)
        if(sume[i]>0)
            x+=sume[i];
        else
            x-=sume[i];
    return x;
}

int main()
{
    int lines, ans=0, x;
    freopen("flip.in", "r", stdin);
    freopen("flip.out", "w", stdout);
    scanf("%d%d", &N, &M);
    for(int i=0;i<N;++i)
        for(int j=0;j<M;++j)
            scanf("%d", &mat[i][j]), ans+=mat[i][j];
    for(lines=(1<<N)-1;lines>-1;--lines)
    {
        x=max(lines);
        if(x>ans)
            ans=x;
    }
    printf("%d", ans);
    return 0;
}