Cod sursa(job #1179231)

Utilizator DenisONIcBanu Denis Andrei DenisONIc Data 28 aprilie 2014 11:43:31
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
long n,m,i,maxx,j,mat[21][21],mat2[21][21],x[30];


void verif()
{
    long nr=0,sum=0;
    for (int ii=1;ii<=n;ii++)
        for (int jj=1;jj<=m;jj++)
            mat2[ii][jj]=mat[ii][jj];
    for (int ii=1;ii<=m;ii++)
        if (x[ii]==2)
        {
            for (int j2=1;j2<=n;j2++)
                mat2[j2][ii]=mat2[j2][ii]*(-1);
        }
    for (int ii=1;ii<=n;ii++)
    {
        sum=0;
        for (int j2=1;j2<=m;j2++)
            sum+=mat2[ii][j2];
        if (sum<0)
            sum=sum*(-1);
        nr+=sum;
    }
    if (nr>maxx)
        maxx=nr;
}
void bkt(int k)
{
    if (k>m)
        verif();
    else
        for (int ii=1;ii<=2;ii++)
        {
            x[k]=ii;
            bkt(k+1);
        }
}
int main()
{
    f>>n>>m;
    for (i=1;i<=n;i++)
        for (j=1;j<=m;j++)
            f>>mat[i][j];
    bkt(1);
    g<<maxx;
    f.close();
    g.close();
    return 0;
}