Cod sursa(job #1012632)

Utilizator chimistuFMI Stirb Andrei chimistu Data 19 octombrie 2013 14:13:42
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
#define maxn 17

using namespace std;

ifstream f("flip.in");
ofstream g("flip.out");
int n,m,a[maxn][maxn],semn[maxn],suma,max_suma=0;

void back(int k){
    int sum;
    if(k<=m){
        semn[k+1]=1;
        back(k+1);
        semn[k+1]=0;
        back(k+1);
    }
    suma=0;
    for(int i=1;i<=n;i++) {
        sum=0;
        for (int j=1;j<=m;j++)
            if(semn[j]>0)
                sum+=a[i][j];
            else
                sum-=a[i][j];
        if(sum<0)
            suma+=(-1)*sum;
        else
            suma+=sum;
    }
    if(suma>max_suma)
        max_suma=suma;
}

int main()
{
    int i,j;
    f >> n >> m;
    fill(semn,semn+maxn,0);
    for (i=1;i<=n;i++)
        for (j=1;j<=m;j++)
            f >> a[i][j];
    back(0);
    g << max_suma;
    return 0;
}