Cod sursa(job #1921690)

Utilizator mihai.alphamihai craciun mihai.alpha Data 10 martie 2017 13:53:42
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
#include <stdio.h>

int mat[16][16],v[16];
int main(){
    FILE*fin,*fout;
    int i, j, n, m, maxsum = 0;
    fin = fopen("flip.in" ,"r");
    fout = fopen("flip.out" ,"w");
    fscanf(fin,"%d%d" ,&n,&m);
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            fscanf(fin,"%d" ,&mat[i][j]);
    for(i = 0;i <(1 << n);i++)  {
        int nr;
        nr = i;
        int cifre = 0;
        for(j = 0;j < n;j++)
        {
            v[j] = nr % 2;
            nr/=2;
        }
        int sum, var1, var2;
        sum = 0;
        int k, l;
        for(k = 0;k < m;k++)  {
                var1 = 0;
                var2 = 0;
            for(l = 0;l < n;l++){
                    if(v[l] == 1)  {
                    var1 += mat[l][k];
                    var2 -=  mat[l][k];
                    }
                    else
                    {
                        var1 -= mat[l][k];
                        var2 += mat[l][k];
                    }
            }
            if(var1 > var2)
                sum += var1;
            else
                sum += var2;
        }
        if(maxsum < sum)
           maxsum = sum;
    }
    fprintf(fout, "%d", maxsum);
    fclose(fin);
    fclose(fout);
    return 0;
}