Cod sursa(job #423988)

Utilizator deneoAdrian Craciun deneo Data 24 martie 2010 15:17:15
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream.h>
int l, c, sm=0, smax=0, m[20][20];

void flipl(int ln)
{
	for(int i=1; i<=c; i++)
		m[ln][i]*=-1;
}


void sol()
{
	int s=0, i, j;
	sm=0;
	for(i=1; i<=c; i++)
	{
		s=0;
		for(j=1; j<=l; j++)
			s+=m[j][i];
		if(s<0)
			s=-s;
		sm+=s;
	}
	if(sm>smax)
		smax=sm;
}

void back(int k)
{
	if(k>l)
		sol();
	else
	{
		flipl(k);
		back(k+1);
		flipl(k);
		back(k+1);
	}
}


int main(){
	int i, j;
	ifstream f("flip.in");
	f>>l>>c;
	for(i=1; i<=l; i++)
		for(j=1; j<=c; j++)
		{
			f>>m[i][j];
			sm+=m[i][j];
		}
	smax=sm;
	back(1);
	ofstream g("flip.out");
	g<<smax;
	g.close();
	return 0;
}