Cod sursa(job #233278)

Utilizator ghiutaalexGhiuta Alex ghiutaalex Data 17 decembrie 2008 12:50:51
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>
#include<values.h>
FILE*f=fopen("flip.in","r");
FILE*g=fopen("flip.out","w");
int m,n,d[2]={1,-1},st[17],st1[17];
long a[17][17],max=-MAXLONG;
void citire()
{int i,j;
 fscanf(f,"%d%d",&n,&m);
 for(i=1;i<=n;i++)
	for(j=1;j<=m;j++)
		fscanf(f,"%ld",&a[i][j]);
}
long suma()
{int i,j;
 long s=0;
 for(i=1;i<=n;i++)
	for(j=1;j<=m;j++)
		s+=a[i][j]*st[i]*st1[j];
 return s;
}
void bkt1(int p)
{int i;
 long x;
 for(i=0;i<2;i++)
	{st1[p]=d[i];
	 if(p==m) {x=suma();
		   if(x>max) max=x;}
	 else bkt1(p+1);
	}
}
void bkt(int k)
{int i;
 for(i=0;i<2;i++)
	{st[k]=d[i];
	 if(k==n) bkt1(1);
	 else bkt(k+1);
	}
}
int main()
{citire();
 bkt(1);
 fprintf(g,"%ld",max);
 fcloseall();
 return 0;
}