Cod sursa(job #635254)

Utilizator iulian131Moldovan Iulian iulian131 Data 18 noiembrie 2011 23:52:21
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <stdio.h>
#define MAX 20
FILE *s,*c;
int n,m,so[MAX];
int mat[MAX][MAX];
int max=0;

void citeste()
{
    c = fopen("flip.in","r");
    s = fopen("flip.out","w");
    fscanf(c,"%d %d",&n,&m);
    for(int i=0;i<=n;i++)
        for(int h=0;h<=m;h++)
            fscanf(c,"%d",&mat[i][h]);
}

void suma()
{
    int s,suma;
    suma=0;
    for(int i=0;i<=m;i++)
    {
        s=0;
        for(int h=0;h<=n;h++)
            if(so[h])
                s -= mat[h][i];
            else
                s+= mat[h][i];
        if(s<0)
            s = s * -1;
        suma += s;
    }
    if(suma > max)
        max = suma;
}

void backtracking(int a)
{
       if(a < n)
       {
           for(int i=0;i<=1;i++)
            {
                so[a] = i;
                backtracking(a+1);
            }
       }
        else
        {
            suma();
        }
}

int main()
{
    citeste();
    backtracking(0);
    fprintf(s,"%d",max);
    fclose(s);
    fclose(c);
    return 0;
}