Cod sursa(job #1730822)

Utilizator xSliveSergiu xSlive Data 17 iulie 2016 17:26:30
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>
#define NMAX 20
using namespace std;
int a[NMAX][NMAX],m;
int s[NMAX],n,maxsum=0;

ifstream f("flip.in");
ofstream g("flip.out");
int abs(int a){
    if (a>0)    return a;
    return -a;
}
void sum(){
    int sum=0;
    int partsum;
    for(int j=1;j<=m;j++){
        partsum=0;
        for(int i=1;i<=n;i++)
            partsum+=a[i][j]*s[i];
        sum+=abs(partsum);
    }
    maxsum=max(maxsum,sum);
}

void bk(int k){
    for(int i=-1;i<2;i+=2){
        s[k]=i;
        if(k>=n)
            sum();
        else bk(k+1);
    }
}

int main()
{
    f >> n >> m;
    maxsum=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++){
            f >> a[i][j];
            maxsum+=a[i][j];
        }
    bk(1);
    g << maxsum;
    f.close();
    g.close();
    return 0;
}