Cod sursa(job #329541)

Utilizator GagosGagos Radu Vasile Gagos Data 6 iulie 2009 15:42:42
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<stdio.h>
int a[18][18],b[18][18],n,m,i,j,j1,t,s,smax,s1;
int main()
{
	freopen("flip.in","r",stdin);
	freopen("flip.out","w",stdout);
	scanf("%d %d",&n,&m);
	for(i=1;i<=n;++i)
		for(j=1;j<=m;++j)
			scanf("%d",&a[i][j]);
	for(j1=0;j1<(1<<n);++j1)
	{
		s=0;
		t=j1;
		for(i=1;i<=n;++i)
		{
			for(j=1;j<=m;++j)
				if(t%2)
					s+=(-1)*a[i][j];
				else
					s+=a[i][j];
			t/=2;
		}
		t=j1;
		for(i=1;i<=n;++i)
			{
				for(j=1;j<=m;++j)
					if(t%2)
						b[i][j]=(-1)*a[i][j];
					else
						b[i][j]=a[i][j];
				t/=2;
			}
		for(i=1;i<=m;++i)
		{
			s1=0;
			for(j=1;j<=n;++j)
				s1+=b[j][i];
			if(s1<0)
				s-=2*s1;
		}
		if(s>smax)
			smax=s;
	}
	printf("%d\n",smax);
	return 0;
}