Cod sursa(job #1250905)

Utilizator alexpetrescuAlexandru Petrescu alexpetrescu Data 28 octombrie 2014 18:51:12
Problema Jocul Flip Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <stdio.h>
#define MAXN 16
int v[MAXN], m[MAXN][MAXN], nrlin, nrcol, max;
void bkt(int p){
    int i, j, s, sum;
    if(p==nrcol){
        sum=0;
        for(i=0; i<nrlin; i++){
            s=0;
            for(j=0; j<nrcol; j++){
                if(v[j]==0){
                    s+=m[i][j];
                }else{
                    s-=m[i][j];
                }
            }
            if(s<0){
                s=-s;
            }
            sum+=s;
        }
        if(sum>max){
            max=sum;
        }
        return ;
    }
    bkt(p+1);
    v[p]=1;
    bkt(p+1);
    v[p]=0;
}
int main(){
    int i, j;
    FILE *fin, *fout;
    fin=fopen("flip.in", "r");
    fout=fopen("flip.out", "w");
    fscanf(fin, "%d%d", &nrlin, &nrcol);
    for(i=0; i<nrlin; i++){
        for(j=0; j<nrcol; j++){
            fscanf(fin, "%d", &m[i][j]);
        }
    }
    bkt(0);
    fprintf(fout, "%d\n", max);
    fclose(fin);
    fclose(fout);
    return 0;
}