Cod sursa(job #1404576)

Utilizator andrei20003Ionescu Andrei andrei20003 Data 28 martie 2015 12:51:40
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<iostream>
#include<fstream>
using namespace std;

int n,m,i,j;
int a[18][18];
short c[18];
long long s;

void calc() {
    int st,sl;
    st=0;
    for (i=1; i<=n; i++) {
        sl=0;
        for (j=1; j<=m; j++)
            sl=sl+a[i][j]*c[j];
        if (sl<0)
            st=st-sl;
        else st=st+sl;
    }
    if (st>s)
        s=st;
}

void back(int pas) {
    if (pas==m) {
        c[pas]=1;
        calc();
        c[pas]=-1;
        calc();
    }
  else {
    c[pas]=1;
    back(pas+1);
    c[pas]=-1;
    back(pas+1);
  }
}

int main() {
    ifstream f("flip.in");
    ofstream g("flip.out");
    f>>n>>m;
    for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
            f>>a[i][j];
    s=0;
    back(1);

    g<<s;
    f.close();
    g.close();
    return 0;
}