Cod sursa(job #520773)

Utilizator gabipurcaruGabi Purcaru gabipurcaru Data 10 ianuarie 2011 12:42:03
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
// infoarena: problema/flip 
#include <fstream>
using namespace std;

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

int n,m,x[20][20],i,j,st[20],maxim=-1<<29;

void back(int k)
{
	if(k == m)
	{
		int s=0,t;
		for(i=1; i<=n; i++)
		{
			t=0;
			for(j=1; j<=m; j++)
				if(st[j])
					t += x[j][i];
				else
					t -= x[j][i];
			s += max(-t, t);
		}
		if(s > maxim)
			maxim = s;
		return;
	}
	st[k] = 0;
	back(k+1);
	st[k] = 1;
	back(k+1);
}

int main()
{
	in>>m>>n;
	for(i=1; i<=m; i++)
		for(j=1; j<=n; j++)
			in>>x[i][j];
	back(1);
	out<<maxim;
}