Cod sursa(job #895733)

Utilizator rughibemBelcineanu Alexandru Ioan rughibem Data 27 februarie 2013 12:23:13
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
FILE *f=fopen("flip.in","r"), *g=fopen("flip.out","w");

long int n, m, a[20][20], used[40], smax=-300000000;

void citire(){
long int i, j;

    fscanf(f,"%ld %ld\n",&n,&m);
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            fscanf(f,"%ld",&a[i][j]);

}

void sol(){
long int i, j, st, s;
    st=0;
    for(i=1;i<=n;i++){
        s=0;
        for(j=1;j<=m;j++){
            s=s+a[i][j]*used[j];
        }
        if(s<0){s=0-s;}
        st+=s;
    }
    if(st>smax){smax=st;}

}

void back(long int k){
    if(k>m){sol();}
    else{
        used[k]=1; back(k+1);
        used[k]=-1; back(k+1);
    }
}

int main(){

    citire();
    back(1);
    fprintf(g,"%ld",smax);

return 0;
}