Cod sursa(job #1287907)

Utilizator Robert29FMI Tilica Robert Robert29 Data 8 decembrie 2014 10:40:39
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul II Marime 0.98 kb
#include <stdio.h>
FILE *f = fopen("flip.in","r");
FILE *g = fopen("flip.out","w");
int A[18][18];
int B[18][18];
int V[18];
int n,m,i,j,max,k,s,S;
int main() {
    fscanf(f,"%d %d",&n, &m);
    for (i=1;i<=n;i++)
        for (j=1;j<=m;j++)
            fscanf(f,"%d",&A[i][j]);
    max = 0;
    while (V[0]!=1) {
        for (i=1;i<=n;i++)
            for (j=1;j<=m;j++)
                B[i][j] = A[i][j];
        for (j=1;j<=m;j++)
            if (V[j] == 1) {
                for (i=1;i<=n;i++)
                    B[i][j] = -B[i][j];
            }
        S = 0;
        for (i=1;i<=n;i++) {
            s = 0;
            for (j=1;j<=m;j++)
                s+=B[i][j];
            if (s>0)
                S+=s;
            else
                S-=s;
        }
        if (S>max)
            max = S;
        k = m;
        while (V[k]==1)
            V[k--] = 0;
        V[k] = 1;
    }
    fprintf(g,"%d",max);
    fclose(f);
    fclose(g);
    return 0;
}