Cod sursa(job #1307182)

Utilizator VictoriaNevTascau Victoria VictoriaNev Data 1 ianuarie 2015 15:25:29
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
long long n, m, sum, smax, i, j, v[17], a[17][17];
int suma()
{
    long long sum=0, s;
    for (int i=1; i<=m; i++)
    {
        s=0;
        for (int j=1; j<=n; j++)
            s+=v[j]*a[i][j];
        sum+=abs(s);
    }
    return sum;
}
void bckt(int x)
{
    if (x==m)
    {
        sum=suma();
        smax=max(sum,smax);
    }
    else
    {
        v[x]=-1;
        bckt(x+1);
        v[x]=1;
        bckt(x+1);
    }
}
int main()
{
    ifstream cin("flip.in");
    ofstream cout("flip.out");
    cin>>m>>n;
    for (i=1; i<=m; i++)
        for (j=1; j<=n; j++)
            cin>>a[i][j];
    memset(v,-1,sizeof(v));
    bckt(1);
    cout<<smax<<'\n';
    return 0;
}