Cod sursa(job #2697031)

Utilizator Ilie_MityIlie Dumitru Ilie_Mity Data 17 ianuarie 2021 15:40:49
Problema Jocul Flip Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
//Ilie Dumitru
#include<cstdio>

int N, M;
int stiva[32], mat[16][16], best=-256000001;

bool sol()
{
    int s, i, j;
    for(i=s=0;i<N;++i)
        for(j=0;j<M;++j)
            if(stiva[i]^stiva[N+j])
                s-=mat[i][j];
            else
                s+=mat[i][j];
    if(s>best)
        best=s;
}

void back(int k)
{
    stiva[k]=0;
    if(k==N+M-1)
        sol();
    else
        back(k+1);
    stiva[k]=1;
    if(k==N+M-1)
        sol();
    else
        back(k+1);
}

int main()
{
    int i, j;
    freopen("flip.in", "r", stdin);
    freopen("flip.out", "w", stdout);
    scanf("%i", &N);
    scanf("%i", &M);
    for(i=0;i<N;++i)
        for(j=0;j<M;++j)
            scanf("%i", &mat[i][j]);
    fclose(stdin);
    back(0);
    printf("%i", best);
    fclose(stdout);
    return 0;
}