Cod sursa(job #926223)

Utilizator shiftcrissCeica Cristian shiftcriss Data 25 martie 2013 00:54:46
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdlib.h>
#include<stdio.h>

int n,m,a[17][17],i,j,x[257];
long sum,maxi;



void operare()
{
	for(int k = 0; k < n; k++)
		for(int l = 0; l < m; l++) 
			if(x[k+1] == 1 || x[l+n+1] == 1) sum += -1*a[k][l];
		     else sum += a[k][l];
			
	if(sum >= maxi)
		maxi=sum;
	sum = 0;
}

void bk(int k)
{  int i;
   for(i = 0; i <= 1; i++)
      { x[k] = i;
        if (k == n+m) operare();
           else bk(k+1);
      }
}

int main()
{	
	FILE*in,*out;
	in = fopen("flip.in","r");
	out = fopen("flip.out","w");
	fscanf(in,"%d",&n);
	fscanf(in,"%d",&m);
	for(i = 0; i < n; i++)
		for(j = 0; j < m; j++) 
			fscanf(in,"%d",&a[i][j]);
	bk(1);
		
			
	fprintf(out,"%d",maxi);
	fclose(in);
	fclose(out);
	return 0;
}