Cod sursa(job #1987115)

Utilizator DavidLDavid Lauran DavidL Data 29 mai 2017 19:53:56
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#define MAXN 20
#define INF 1000000001
using namespace std;
ifstream fi("flip.in");
ofstream fo("flip.out");

int A[MAXN][MAXN];
int sum[MAXN];
int n,m;

int main()
{
    fi>>n>>m;
    for (int i=0; i<n; i++)
        for (int j=0; j<m; j++)
            fi>>A[i][j];

    int rez=-INF;
    for (int k=0; k<(1 << n); k++)
    {
        for (int j=0; j<m; j++)
            sum[j]=0;

        ///modificam pe linii
        for (int i=0; i<n; i++)
        {
            if (k&(1 << i))
                for (int j=0; j<m; j++)
                    sum[j]+=A[i][j];
            else
                for (int j=0; j<m; j++)
                    sum[j]-=A[i][j];
        }

        ///modificam pe coloane
        int curent=0;
        for (int j=0; j<m; j++)
            if (sum[j]<0)
                curent-=sum[j];
            else
                curent+=sum[j];

        rez=max(rez,curent);
    }
    fo<<rez;
}