Cod sursa(job #424865)

Utilizator O_NealS. Alex O_Neal Data 25 martie 2010 11:53:00
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<cstdio>
using namespace std;

int n,m,lin[16],col[16],smax,a[16][16];

void read()
{
	freopen("flip.in","r",stdin);
	scanf("%d %d",&n,&m);
	for(int i=0; i<n; ++i)
		for(int j=0; j<m; ++j)
			scanf("%d",&a[i][j]);
}

void write()
{
	freopen("flip.out","w",stdout);
	printf("%d\n",smax);
}

void verifica()
{
	int s=0;
	for(int i=0; i<n; ++i)
		for(int j=0; j<n; ++j)
			if((lin[i]&&col[j]) || ((!lin[i])&&(!col[j])) ) s+=a[i][j];
			else if( ((!lin[i])&&col[j]) || (lin[i]&&(!col[j])) ) s+=(-a[i][j]);
	if(s>smax) smax=s;
}
 			
void back(int k)
{
	if(k==n) verifica();
	else
	{
		for(int i=0; i<=1; ++i)
			for(int j=0; j<=1; ++j)
			{
				lin[k]=i;
				col[k]=j;
				back(k+1);
			}
	}
}


int main()
{
	read();
	back(0);
	write();
	return 0;
}