Cod sursa(job #116737)

Utilizator ro_dicaRodica Pintea ro_dica Data 19 decembrie 2007 14:13:25
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <stdio.h>
#include <malloc.h>

int i,j,m,n,p=0;
double max;
FILE *f, *g;
long a[16][16]; int x[32];

void prelSol()
{
    int i;
    double s=0;
    s=0;
    for (i=0; i<n; i++)
        for (j=0; j<m; j++)
	if (x[i]^x[n+j])s-=a[i][j];
	else s+=a[i][j];
    if (s>max) 
    {
       max=s;
    }

}


void back()
{
     int k;
     for (k=0; k<m+n; k++)
         x[k]=-1;
     k=0;
     while (k>=0)
           if (k==n+m)
           {
	      prelSol();
              k--;
           }
           else if (x[k]<1)
           {
                x[k]++;
                k++;
           }
           else
           {
               x[k]=-1;
               k--;
           }
}


int main()
{
    max=0;
    f=fopen("flip.in","r");
    fscanf(f,"%d %d",&n, &m);
    for (i=0; i<n; i++)
        for (j=0; j<m; j++)
            fscanf(f,"%ld",&a[i][j]);
    g=fopen("flip.out","w");
    back();
    fprintf(g,"%lf",max);
    return 0;
}