Cod sursa(job #583550)

Utilizator alinhAlin H alinh Data 20 aprilie 2011 20:13:12
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <iostream>

using namespace std;

fstream f;
int n,m;
int a[17][17];

int sc[17];

int maxim = -99999999;

void suma()
{
	int sum = 0;
	for (int i=1; i<=n; i++)
	{
		int s=0;
		for (int j=1; j<=m; j++)
			s = s + a[i][j] * sc[j];
		if (s < 0)
			s = -s;
		sum = sum + s;
	}

	if (sum > maxim)
		maxim = sum;
}

void backcoloane(int p)
{
	for (int k=-1; k<=1; k=k+2)
	{
		sc[p] = k;
		if (p == m)
			suma();
		else
			backcoloane(p+1);
	}
}

int main()
{
	f.open("flip.in",ios::in);
	f >> n >> m;
	for (int i=1; i<=n; i++)
		for (int j=1; j<=m; j++)
			f >> a[i][j];
	f.close();
	backcoloane(1);
	f.open("flip.out",ios::out);
	f << maxim;
	f.close();
	return 0;
}