Cod sursa(job #670357)

Utilizator AliiicuAlice Laic Aliiicu Data 28 ianuarie 2012 21:25:30
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>
FILE *f,*g;
int v[20][20],b[80],s,max,s1,s2,k[20][20];
unsigned short int n,m,i,j;

void back(int pk){
	  if(pk==n+1){ for(int j=1; j<=m; j++){s=0;
		       for(int i=1; i<=n; i++) s+=v[i][j]*b[i];
		       if(s<0)b[j+n]=-1;else b[j+n]=1;
			 }

		       s=0;for(i=1; i<=n; i++)for(j=1; j<=m; j++)s+=v[i][j]*b[i]*b[j+n];
		       max=(max<s)?s:max;}
	  else{
	       s1=0,s2=0;

	       pk++;

	       b[pk-1]=-1;
	       back(pk);
	       b[pk-1]=1;
	       back(pk);
	       pk--;
	  }
}

int main(){
	   f=fopen("flip.in","r");
	   g=fopen("flip.out","w+");

	fscanf(f,"%d%d",&n,&m);
	   for(i=1; i<=n; i++)
	      for(j=1; j<=m; j++) fscanf(f,"%d",v[i][j]);

	  back(1);
			      fprintf(g,"%d",max);

	   return 0;
}