Cod sursa(job #828018)

Utilizator dobrebogdanDobre Bogdan Mihai dobrebogdan Data 2 decembrie 2012 21:31:39
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
int n,m,a[20][20],st[35];
long max=-32000000,s;
void back(int k)
{
	int i,j;
	for(i=st[k-1]+1;i<=n+m;i++)
	{
		st[k]=i;
		if(i<=n)
			for(j=1;j<=m;j++)
			s=s-2*a[i][j];
			else
				for(j=1;j<=n;j++)
					s=s-2*a[j][i-n];
				if(s>max)
					max=s;
		back(k+1);
		if(i<=n)
			for(j=1;j<=m;j++)
			s=s+2*a[i][j];
			else
				for(j=1;j<=n;j++)
					s=s+2*a[j][i-n];
	}
}
int main()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
int i,j;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
scanf("%d",&a[i][j]);
s=s+a[i][j];
}
back(1);
printf("%ld",max);
return 0;
}