Cod sursa(job #1515365)

Utilizator Robert_VRVRobert Vadastreanu Robert_VRV Data 1 noiembrie 2015 15:44:30
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int m,n,a[17][17];
int x[100],Max;
void back(int k)
{
    int i,p,s1,s2,sf=0;
    if(k>n)
    {
        for(i=1;i<=m;i++)
        {
            s1=0;s2=0;
            for(p=1;p<=n;p++)
            {
                s1=s1+a[i][p];
                s2=s2+a[i][p]*(-1);
            }
            if(s2>s1)
                for(p=1;p<=n;p++)
                    a[i][p]=a[i][p]*(-1);
            sf=sf+max(s1,s2);
        }
        if(sf>Max)
            Max=sf;
    }
    else
    {
        for(i=0;i<=1;i++)
        {
            x[k]=i;
            if(i==1)
            for(p=1;p<=m;p++)
                a[p][k]*=(-1);
            back(k+1);
            for(p=1;p<=m;p++)
                a[p][k]*=(-1);
        }
    }
}
int main()
{
    fin>>m>>n;
    int i,j;
    for(i=1;i<=m;i++)
        for(j=1;j<=n;j++)
            fin>>a[i][j];
    fin.close();
    back(1);
    fout<<Max;
    fout.close();
    return 0;
}