Cod sursa(job #1830618)

Utilizator bogdanf555Fuia Bogdan bogdanf555 Data 16 decembrie 2016 22:21:09
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <fstream>

#define mare 17

using namespace std;

ifstream fin("flip.in");
ofstream fout("flip.out");

int a[mare][mare], b[mare], n, m;
int sum=0;

void backt(int k)
{
    for(int i=0;i<=1;i++)
    {
        b[k]=i;
        if(k==m)
        {
            int t, s=0, j, k;
            for(k=1;k<=n;k++)
            {
                t=0;
                for(j=1;j<=m;j++)
                {
                    if(b[j])t+=-a[k][j];
                    else t+=a[k][j];
                }
                if(t<0)s+=-t;
                else s+=t;
            }
            if(s>sum)sum=s;
        }
        else if(k+1<=m)backt(k+1);
    }
}

int main()
{
    int i, j;
    fin>>n>>m;
    for(i=1;i<=n;++i)
        for(j=1;j<=m;++j)
        {
            fin>>a[i][j];
            sum+=a[i][j];
        }
    backt(1);
    fout<<sum;
    return 0;
}