Cod sursa(job #878811)

Utilizator avramavram andrei marius avram Data 14 februarie 2013 19:19:49
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <iostream>
using namespace std;
 
ifstream f("flip.in");
ofstream f2("flip.out");
 
int m,n;
long long tabel[17][17];
int sm[17];
long long s=0;
 
void suma() {
    long long col[17]={0};
    long long s2=0;
    for(int i=1;i<=m;i++) {
        for(int j=1;j<=n;j++) {
            col[i]+=tabel[i][j]*sm[j];
        }
    }
    for(int i=1;i<=m;i++) {
        if(col[i]<0) s2+=(-1)*col[i];
        else s2+=col[i];
    }
    if(s2>s) s=s2;
}
 
void back(int k) {
    if(k==n+1) suma();
    else {
        sm[k]=1,back(k+1);
        sm[k]=-1,back(k+1);
    }
}
 
int main() {
    f>>m>>n;
    for(int i=1;i<=m;i++) {
        for(int j=1;j<=n;j++) {
            f>>tabel[i][j];
        }
    }
    back(1);
    f2<<s;
    return 0;
}