Cod sursa(job #1614213)

Utilizator alex.stancuAlex Stancu alex.stancu Data 25 februarie 2016 20:55:43
Problema Jocul Flip Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <stdio.h>

#define MAXN 16
#define MAXM 16

int n, m, a[MAXN][MAXM];

FILE *in;
FILE *out;


int main() {
    in = fopen("flip.in", "r");
    out = fopen("flip.out", "w");

    int i, j, s = 0, sc = 0, sl = 0, sin = 0;

    fscanf(in, "%d%d", &n, &m);

    for(i = 0; i < n; i++)
        for(j = 0; j < m; j++) {
            fscanf(in, "%d", &a[i][j]);
                sin += a[i][j];
        }

    for(int bit = 0; bit < (1 << m); bit++) {
        s = 0;
        for(i = 0; i < n; i++) {
            sl = 0;
            for(j = 0; j < m; j++) {
                if((bit & (1 << j)) != 0) 
                    sl += a[i][j] * (-1);
                else 
                    sl += a[i][j];
            }
            
            s += (sl > 0 ? sl : -sl);
        }
        sin = (sin > s ? sin : s);
    }

    fprintf(out, "%d\n", sin);
    return 0;
}