Cod sursa(job #9136)

Utilizator DranaXumAlexandru Dumitru Paunoiu DranaXum Data 26 ianuarie 2007 20:36:01
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream.h>

long 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(){
	   ifstream f("flip.in");
	   ofstream g("flip.out");

	   f>>n>>m;
	   for(i=1; i<=n; i++)
	      for(j=1; j<=m; j++)f>>v[i][j];

	  back(1);
			      g<<max;

	   return 0;
}