Cod sursa(job #1173375)

Utilizator moga_florianFlorian MOGA moga_florian Data 19 aprilie 2014 14:49:41
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include<stdio.h>

FILE *fin=fopen("flip.in","r"), 
     *fout=fopen("flip.out","w");  

int t[16][16];

void baza2(int x) {
    for (int b=9; b>=0; b--) {
        if ( ((1 << b) & x) == 0) {
            fprintf(fout, "%d", 0);
        } else {
            fprintf(fout, "%d", 1);
        }
    }
    fprintf(fout, "\n");
}

int main() {
    // citire
    int nl, nc;
    fscanf(fin, "%d %d", &nl, &nc);
    for (int i=0; i<nl; i++) {
        for (int j=0; j<nc; j++) {
            fscanf(fin, "%d", &t[i][j]);
        }
    }

    int smax = -256000001;
    for (int cl = 0; cl < (1<<nl); cl++) {
        int s = 0;
        for (int j = 0; j < nc; j++) {
            int sc = 0;
            for (int i = 0; i < nl; i++) {
                int comutat = 0;
                if ((cl & (1 << i)) != 0) {
                    comutat = 1;
                }

                if (comutat) {
                    sc = sc - t[i][j];
                } else {
                    sc = sc + t[i][j];
                }

            }

            if (sc < 0) {
                s = s - sc;
            } else {
                s = s + sc;
            }
        }
        
        if (smax < s) smax = s;
    }

    fprintf(fout, "%d\n", smax);
}