Cod sursa(job #711384)

Utilizator venom4u31Manea Constantin venom4u31 Data 11 martie 2012 23:41:12
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

using namespace std;

int m, n, a[17][17], c=1, sign[17], maxim=0;

int sumcol(int j)
{
    int i, s=0;
    for(i=1;i<=m;i++)
        s+=sign[i]*a[i][j];
    return s;
}

void sumtot()
{
    int ts=0, j;
        for(j=1;j<=n;j++)
            ts+=abs(sumcol(j));
    if(ts>maxim)
        maxim=ts;

}

void backtrack(int k)
{
    if(k>m)
        sumtot();
    else
    {
        sign[k]=1;
        backtrack(k+1);
        sign[k]=-1;
        backtrack(k+1);
    }
}

int main()
{
    ifstream f("flip.in");
    ofstream g("flip.out");
    int i, j;
    f>>m>>n;
    for(i=1;i<=m;i++)
        for(j=1;j<=n;j++)
            f>>a[i][j];

    backtrack(1);
    g<<maxim;


    return 0;
}