Cod sursa(job #1533733)

Utilizator RitardoVlad Ciucescu Ritardo Data 22 noiembrie 2015 21:44:13
Problema Jocul Flip Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <stdio.h>

int n,m, lines[16], a[16][16], smax;

int abs(int n)
{
    return (n>0)?n:-n;
}

void sum()
{
    int sline, stotal=0;
    for (int i=0; i<n; i++)
    {
        sline=0;
        for (int j=0; j<m; j++)
            sline+=lines[j]*a[i][j];
        stotal+=abs(sline);
    }
    if (stotal>smax)
        smax=stotal;
}

void back(int p)
{
    if (p==m)
        sum();
    else
    {
        lines[p]=1;
        back(p+1);
        lines[p]=-1;
        back(p+1);
    }
}

int main()
{
    FILE *in=fopen("flip.in","r");
    fscanf(in,"%d",&n);
    fscanf(in,"%d",&m);
    for (int i=0; i<n; i++)
        for(int j=0; j<m; j++)
        {
            fscanf(in,"%d",&a[i][j]);
            smax+=a[i][j];
        }
    fclose(in);
    back(0);
    FILE *out=fopen("flip.out","w");
    fprintf(out,"%d",smax);
    fclose(out);
    return 0;
}