Cod sursa(job #1436001)

Utilizator PopoviciRobertPopovici Robert PopoviciRobert Data 14 mai 2015 21:19:38
Problema Jocul Flip Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <stdio.h>
#include <stdlib.h>
#define MAXN 16
int mat[MAXN][MAXN],v[MAXN];
int main(){
    FILE*fi,*fout;
    int i,j,n,m,max,s,s1,s2,nr,l,c;
    fi=fopen("flip.in" ,"r");
    fout=fopen("flip.out" ,"w");
    fscanf(fi,"%d%d" ,&n,&m);
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            fscanf(fi,"%d" ,&mat[i][j]);
    max=0;
    for(i=0;i<(1<<n);i++){
         nr=i;
         for(j=0;j<n;j++){
              v[j]=nr%2;
              nr/=2;
         }
         s=0;
         for(c=0;c<m;c++){
             s1=s2=0;
             for(l=0;l<n;l++){
                if(v[l]==1){
                    s1-=mat[l][c];
                    s2+=mat[l][c];
                }
                else{
                    s1+=mat[l][c];
                    s2-=mat[l][c];
                }
             }
             if(s1>s2)
                s+=s1;
             else
                s+=s2;
         }
         if(max<s)
            max=s;
    }
    fprintf(fout,"%d" ,max);
    fclose(fi);
    fclose(fout);
    return 0;
}