Cod sursa(job #766648)

Utilizator ichigo2908mantu radu ichigo2908 Data 11 iulie 2012 19:23:20
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <iostream>
using namespace std;

int smax=0, a[16][16], n, m;

bool sol[16];

void prelucrare()
{
	int st, s;
	st=0;
	for(int i=0;i<n;i++)
	{
		s=0;
		for(int j=0;j<m;j++)
		{
			if(sol[j])
				s-=a[i][j];
			else
				s+=a[i][j];
		}
		if(s>0) st+=s;
		else st -= s;
	}
	if(st>smax)
		smax=st;
}

void bkt(int p)
{
	if(p == m)
		prelucrare();
	else
	{
		sol[p] = false;
		bkt(p+1);
		sol[p] = true;
		bkt(p+1);
	}
}

int main()
{
	int i, j, s=0;
	ifstream f("flip.in");
	f>>n>>m;
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
		{
			f>>a[i][j];
			s+=a[i][j];
		}
	smax=s;
	bkt(0);
	ofstream g("flip.out");
	g<<smax;
	g.close();
	return 0;
}