Cod sursa(job #1730804)

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

ifstream f("flip.in");
ofstream g("flip.out");

void sum(){
    int sum=0;
    for(int i=1;i<=n;i++){
        int partsum=0;
        for(int j=1;j<=m;j++)
            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>=m)
            sum();
        else bk(k+1);
    }
}

int main()
{
    f >> n >> m;
    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;
}