Cod sursa(job #1140535)

Utilizator EhtRalpmetFMI Ardei Claudiu-Alexandru EhtRalpmet Data 12 martie 2014 08:18:18
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
//#include <iostream>
#include<fstream>
#include<cmath>

using namespace std;

ifstream cin("flip.in");
ofstream cout("flip.out");
#define nmax 17

int sum,i,j,n,m,v[nmax][nmax],c[nmax];

int sumcol(int x){
    int q=0;
    for(int i=1;i<=n;i++){
        q+=c[i]*v[i][x];
    }
    return q;
}

void flip(int x){
    if(x==n+1){
        int s=0;
        for(int i=1;i<=m;i++){
            int a=sumcol(i);
            s+=abs(a);
        }
        if(s>sum){
            sum=s;
        }
    }else{
        for(int i=-1;i<=1;i+=2){
            c[x]=i;
            flip(x+1);
        }
    }
}

int main(){
    cin>>n>>m;
    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++){
            cin>>v[i][j];
        }
    }
    flip(1);
    cout<<sum;
    return 0;
}