Cod sursa(job #447766)

Utilizator R.A.RFMI Romila Remus Arthur R.A.R Data 30 aprilie 2010 22:22:36
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
#define modul(n) (n>0?n:-n)
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int a[20][20],n,m;
short flip[20];
int maxim = -2000000;
void calculeaza ()
{
	int rez = 0;
	int i,j,suma;
	for(i=1;i<=n;i++)
	{
		suma = 0;
		for(j=1;j<=m;j++)
			suma+=a[i][j]*flip[j];
		rez +=modul(suma);
		if(rez>maxim)
			maxim = rez;
	}
}
void back(int k)
{
	if(k>m)
		calculeaza();
	else
	{
		flip[k] = 1;
		back(k+1);
		flip[k] = -1;
		back(k+1);
	}
}
int main ()
{
	int i,j;
	in>>n>>m;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			in>>a[i][j];
	back(1);
	out<<maxim;
}