Cod sursa(job #2076886)

Utilizator Andrei_Info1Ionescu Andrei Andrei_Info1 Data 27 noiembrie 2017 12:39:59
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <cstdio>
using namespace std;
long long mx=-(1<<31);
int n, m, mul[35], val[2]={-1,1}, v[20][20];
int sum()
{
    int s=0;
    for(int i=1 ; i<=n ; i++)
        for(int j=1 ; j<=m ; j++)
            s+=v[i][j]*mul[i]*mul[n+j];
    return s;
}
int valid(int k)
{
    if(k>m+n)
        return 0;
    return 1;
}
void back(int k)
{
    for(int i=0 ; i<=1 ; i++)
    {
        mul[k]=val[i];
        if(valid(k))
            if(k==m+n)
                {
                    int s=sum();
                    mx=mx<s ? s:mx;
                }
            else
                back(k+1);
    }
}
int main()
{
    freopen("flip.in","r",stdin);
    freopen("flip.out","w",stdout);
    int i, j;
    scanf("%d%d", &n, &m);
    for(i=1 ; i<=n ; i++)
        for(j=1 ; j<=m ; j++)
            scanf("%d", &v[i][j]);
    back(1);
    printf("%d", mx);
    return 0;
}