Cod sursa(job #443822)

Utilizator crushackPopescu Silviu crushack Data 18 aprilie 2010 15:40:01
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
#define lung 20

int a[lung][lung];
int max,n,m,s;
void bkt(int,int);


int main()
{
	int su,i,j;
	freopen("flip.in","r",stdin);
	freopen("flip.out","w",stdout);
	scanf("%d%d",&n,&m);
	su=0;s=n+m;
	for (i=0;i<n;i++)
		for (j=0;j<m;j++)
		{
			scanf("%d",&a[i][j]);
			su+=a[i][j];
		}
	max=su;
	bkt(0,su);
	printf("%d\n",max);
	fclose(stdout);
	return 0;
}

void bkt(int x,int su)
{
	if (su>max) max=su;
	if (x>=s) 
		return;
	int k,i;
	if (x<n)
	{
		k=0;
		for (i=0;i<m;i++)
			k+=a[x][i];
		bkt(x+1,su-2*k);
	}
	else
	{
		k=0;
		for (i=0;i<n;i++)
			k+=a[i][x-n];
		bkt(x+1,su-2*k);
	}
	bkt(x+1,su);
}