Cod sursa(job #2041947)

Utilizator vladcoroian2001Vlad Coroian vladcoroian2001 Data 17 octombrie 2017 21:43:53
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>

using namespace std;
ifstream fi("flip.in");
ofstream fo("flip.out");
int A[17][17],i,j,n,m,SEMN[40],rez;
int suma()
{
    int i,j,sum=0,sol=0;
    for(i=1;i<=n;i++)
    {
        sum=0;
        for(j=1;j<=m;j++)
            sum+=SEMN[j]*A[i][j];
        sol+=max(sum,-sum);
    }
    return sol;
}
void bk(int poz)
{
    if(poz==m+1)
    {
        rez=max(rez,suma());
        return ;
    }
    SEMN[poz]=1;
    bk(poz+1);
    SEMN[poz]=-1;
    bk(poz+1);
}
int main()
{
    fi>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        {
            fi>>A[i][j];
            rez+=A[i][j];
        }
    bk(1);
    fo<<rez;
    fi.close();
    fo.close();
    return 0;
}