Cod sursa(job #726111)

Utilizator marinutzacatana marina marinutza Data 27 martie 2012 00:24:12
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n,m,i,j,a[20][20],summax,x[40];
void calculeaza()
{
	int sum=0;
	int z=0;
	for(int i=1;i<=n;i++)
	{
		for(int j=21;j<=20+m;j++)
		{
			z=a[i][j-20];
			a[i][j-20]=a[i][j-20]*x[i]*x[j];
			sum+=a[i][j-20];
			a[i][j-20]=z;
		}
	}
	if(sum>summax)
		summax=sum;
}
void generari(int k)
{
	if(k<=20+m)
	{
		if(k<n)
		{
			x[k]=1;
			generari(k+1);
			x[k]=-1;
			generari(k+1);
		}
		else
		{
			if(k==n)
			{
				x[k]=1;
				generari(20-n+k+1);
				x[k]=-1;
				generari(20-n+k+1);
			}
			else
			{
				x[k]=1;
				generari(k+1);
				x[k]=-1;
				generari(k+1);
			}
		}
	}
	else
	{
		calculeaza();
	}
}
int main()
{
	f>>n>>m;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=m;j++)
		{
			f>>a[i][j];
		}
	}
	generari(1);
	g<<summax;
	return 0;
}