Cod sursa(job #1652164)

Utilizator dragos000Cojanu Dragos dragos000 Data 14 martie 2016 18:59:22
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul II Marime 0.83 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

int mat[17][17],n,m,s;

void citire()
{
    ifstream f("flip.in");
    f>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
        {f>>mat[i][j];
        s+=mat[i][j];}
    f.close();
}
int st[20];
int fct()
{
    int sum=0;
    for(int i=1;i<=n;i++)
    {
        int z=0;
        for(int j=1;j<=m;j++)
        z+=mat[i][j]*st[j];
        sum+=fabs(z);}
        return sum;
}



void parcurgere(int k)
{
    if(k==m+1)
    {
       int z=fct();
        if(z>s)s=z;
    }
    else
    {
        st[k]=1;
        parcurgere(k+1);
        st[k]=-1;
        parcurgere(k+1);
    }

}




int main()
{
    citire();
    parcurgere(1);
    ofstream g("flip.out");
    g<<s;
    g.close();
    return 0;
}