Cod sursa(job #2047307)

Utilizator MoleRatFuia Mihai MoleRat Data 24 octombrie 2017 18:41:13
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n,m;
int A[20][20];
bool F[20];
int sm=-1000000000;
void bkt(int k)
{
    if (k==n)
    {
        int s1=0,s2=0,st=0;
        for (int j=1;j<=m;j++)
        {
            s1=0;
            s2=0;
        for (int i=1;i<=n;i++)
        {
         int x;
         if (F[i]==0)
                x=A[i][j];
         else
                x=-A[i][j];
         s1=s1+x;
         s2=s2+(-x);
        }
        st+=max(s1,s2);
        }
        sm=max(sm,st);
    }
    else
    {
        for (int i=0;i<=1;i++)
        {
            F[k+1]=i;
            bkt(k+1);
        }
    }
}
int main()
{
    fin>>n>>m;
    for (int i=1;i<=n;i++)
        for (int j=1;j<=m;j++)
            fin>>A[i][j];
    bkt(0);
    fout<<sm;
    return 0;
}