Cod sursa(job #409446)

Utilizator dornescuvladVlad Eugen Dornescu dornescuvlad Data 3 martie 2010 17:52:12
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<iostream>
#include<fstream.h>
#include<math.h>

using namespace std;

ifstream fin("flip.in");
ofstream fout("flip.out");

int maximul=-52315,j,n,m,a[21][21],comut[21];

int k;

void calculeaza()
{   
	int suma=0,i=0;
	for(i=1;i<=n;i++)
	{
		int s=0;
		for(j=1;j<=m;j++)
			s+=comut[j]*a[i][j];
		suma+=abs(s);
	}
	if(suma>maximul)
		maximul=suma;
}	

void back(int k)
{   
	int i=0;
	if(k==m+1)
	{
		calculeaza();
		return;
	}
	else
		for(i=1;i<=2;i++)
		{
			if(i==1)
				comut[k]=1;
			if(i==2)
				comut[k]=-1;
			back(k+1);
		}
}
	
int main()
{   
	int i=0;
	fin>>n>>m;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			fin>>a[i][j];
	back(1);
	fout<<maximul;
	return 0;
}