Cod sursa(job #2191909)

Utilizator meraMera Mihai mera Data 4 aprilie 2018 02:10:42
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("flip.in");
ofstream fout("flip.out");

int n,m,mat[17][17],sum;

void bec(int a,int b)
{
    if(a>n)
    {
        int lsum=0;
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++)
            {
                lsum+=mat[i][j]*mat[i][0]*mat[0][j];
            }
        }
        sum=max(sum,lsum);
        return;
    }
    if(b<m)
    {
        bec(a,b+1);
        mat[0][b]=-1;
        bec(a,b+1);
        mat[0][b]=1;
    }
    else
    {
        bec(a+1,b);
        mat[a][0]=-1;
        bec(a+1,b);
        mat[a][0]=1;
    }
}

int main()
{
    fin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            fin>>mat[i][j];
        }
    }
    for(int i=1;i<=n;i++)
    {
        mat[i][0]=1;
    }
    for(int j=1;j<=m;j++)
    {
        mat[0][j]=1;
    }
    bec(1,1);
    fout<<sum<<'\n';
    return 0;
}