Cod sursa(job #2360682)

Utilizator HelloWorldBogdan Rizescu HelloWorld Data 2 martie 2019 01:09:37
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int n,m,a[17][17],i,j,stiva[17],maxx;
void back(int k)
{
    if (k==n+1)
    {
        int suma_matrice=0;
        for (int i=1;i<=m;++i)
        {
            int suma_coloana=0;
            for (int j=1;j<=n;++j)
            {
                if (stiva[j]==1)
                    suma_coloana+=(a[j][i]*(-1));
                else suma_coloana+=a[j][i];
            }
            if (suma_coloana<0) suma_matrice+=(suma_coloana*(-1)); /// flip la coloana
            else suma_matrice+=suma_coloana;
        }
        maxx=max(maxx,suma_matrice);
    }
    else
    {
        stiva[k]=1;
        back(k+1);
        stiva[k]=0;
        back(k+1);
    }
}
int main()
{
    in>>n>>m;
    for (i=1;i<=n;++i)
    {
        for (j=1;j<=m;++j)
             in>>a[i][j];
    }
    back(1);
    out<<maxx;
}