Cod sursa(job #977233)

Utilizator Tux2NicolaeTelechi Nicolae Tux2Nicolae Data 25 iulie 2013 10:56:22
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<stdio.h>
#define DIM 18

int n,m,smax;
int v[DIM][DIM];

inline int max(int a,int b){return a>b ? a : b;}

void read(){
    int i,j;
    scanf("%d %d",&n,&m);

    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++){
            scanf("%d",&v[i][j]);
        }
    }
}

void solve(){
    int i,j,k;
    int s,sline;

    for(i=0;i<(1<<m);i++){
        s=0;
        for(j=1;j<=n;j++){
            sline=0;
            for(k=1;k<=m;k++)
                sline+=(i&(1<<(k-1))) ? v[j][k] : -v[j][k];
            if(sline>0){
                s+=sline;
            }else{
                s-=sline;
            }
        }
        smax=max(smax,s);
    }
}

void write(){
    printf("%d\n",smax);
}

int main(){
    freopen("flip.in","r",stdin);
    freopen("flip.out","w",stdout);

    read();
    solve();
    write();

    return 0;
}