Cod sursa(job #1961815)

Utilizator rares1012Rares Cautis rares1012 Data 11 aprilie 2017 13:05:53
Problema Jocul Flip Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <stdio.h>
#include <stdlib.h>

int v[16][16];
int sumcol[16];
int lips[16];

void reset(){
    int j;
    for(j=0;j<16;j++)
        lips[j]=0;
}

int main()
{
    int n,m,k,i,j,sum,nr,max=-256000001,q;
    FILE*fi,*fo;
    fi=fopen("flip.in","r");
    fo=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",&v[i][j]);
            sumcol[j]+=v[i][j];
        }
    for(i=0;i<(1<<n);i++){
        k=i;
        sum=0;
        nr=0;
        while(k>0)
        {
            if(k%2==1){
                for(j=0;j<m;j++)
                    lips[j]+=2*v[nr][j];
            }
            nr++;
            k/=2;
        }
        for(j=0;j<m;j++)
        {
            if(sumcol[j]-lips[j]>sumcol[j]*-1+lips[j])
                sum+=sumcol[j]-lips[j];
            else sum+=sumcol[j]*-1+lips[j];
        }
        if(sum>max)
            max=sum;
        reset();
    }
    fprintf(fo,"%d",max);
    fclose(fi);
    fclose(fo);
    return 0;
}