Cod sursa(job #477930)

Utilizator c_adelinaCristescu Adelina c_adelina Data 16 august 2010 18:06:49
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
int n,m,v[20],s[20],a[20][20],max=-765878,s2[20];


int main()
{
	int sum,k,i,j;
	
	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]);s[j]+=a[i][j];s[0]+=a[i][j];s2[j]-=a[i][j];}
		sum=s[0];
	for (;;)	
	{
		for (i=1;i<=m;++i)
			if (v[i]==0) {v[i]=1;sum+=s2[i]-s[i];break;} else v[i]=0,sum+=s[i]-s2[i];
		if (i>m) break;
		int k=sum;	
		for (i=1;i<=n;++i)
		{
			int sl=0,sl2=0;
			for (j=1;j<=m;++j)
				if (!v[j]) sl+=a[i][j],sl2-=a[i][j];
			if (sl2>sl) k+=sl2-sl;
		}
		if (k>max)
			max=k;
	}
	printf("%d",max);
return 0;}