Cod sursa(job #742654)

Utilizator mosuAdascalitei Radu mosu Data 30 aprilie 2012 22:32:32
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#define MAX 20

using namespace std;

int n,m,so[MAX];
int mat[MAX][MAX];
int maxim=0;

ifstream fin("flip.in");
ofstream fout("flip.out");
void citire()
{
    fin>>n>>m;
    for(int i=0;i<n;i++)
        for(int h=0;h<m;h++)
            fin>>mat[i][h];
    fin.close();
}
void suma()
{
    int s, suma;
    suma=0;
    for(int i=0;i<m;i++)
    {
        s=0;
        for(int h=0;h<n;h++)
            if(so[h])
                s -= mat[h][i];
            else
                s+= mat[h][i];
        if(s<0)
            s = s * -1;
        suma += s;
    }
    if(suma > maxim)
        maxim = suma;
}

void backtracking(int a)
{
    if(a < n)
        for(int i=0;i<=1;i++)
        {
            so[a] = i;
            backtracking(a+1);
        }
    else
        suma();
}

int main()
{
    citire();
    backtracking(0);
    fout<<maxim;
    return 0;
}