Cod sursa(job #309179)

Utilizator szabibibiOrban Szabolcs szabibibi Data 29 aprilie 2009 20:23:57
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>


#define ABS(a) (((a)>0)?(a):(-(a)))

using namespace std;


const int v[3] = {0,1,-1};
long suma = 0;
long a[17][17];
int mult[17];
int m,n;



void sum()
{
	long sum1 = 0, sum2 = 0;
	for (int i = 1; i<=m; i++)
	{
		sum1 = 0;
		for (int j = 1; j<=n; j++)
			sum1+= mult[j] * a[j][i];
		sum2+= ABS(sum1);
	}
	if (sum2>suma) 
		suma = sum2;
}




void back(int k)
{
	if (k>n)
		sum();
	else 
		for (int i=1;i<=2;i++)
		{
			mult[k] = v[i];
			back(k+1);
		}
}


int main()
{
	ifstream f("flip.in");
	f >> n >> m;
	for (int i=1;i<=n;i++)
		for (int j=1;j<=m;j++)
			f >> a[i][j];
	f.close();
	back(1);
	ofstream g("flip.out");
	g << suma << endl;
	g.close();
	return 0;
}