Cod sursa(job #602364)

Utilizator SteveStefan Eniceicu Steve Data 11 iulie 2011 03:28:27
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <fstream.h>
#include <math.h>

int main()
{
	int N, M;
	long matrice[16][16], matriceinitiala[16][16];
	long Smax=-256000000;
	long S;
	long Scol;
	int v[17];
	int i, j;
	for (i=0; i<17; i++)
	{
		v[i]=0;
	}
	ifstream ins;
	ins.open("flip.in");
	ins>>N>>M;
	for (i=0; i<N; i++)
	{
		for (j=0; j<M; j++)
		{
			ins>>matrice[i][j];
			matriceinitiala[i][j]=matrice[i][j];
		}
	}
	ins.close();
	while (v[N]==0)
	{
		for (i=0; i<N; i++)
		{
			for (j=0; j<M; j++)
			{
				matrice[i][j]=matriceinitiala[i][j];
			}
		}
		v[0]++;
		for (i=0; i<N; i++)
		{
			if (v[i]==2)
			{
				v[i]=0;
				v[i+1]++;
			}
		}
		for (i=0; i<N; i++)
		{
			if (v[i]==1)
			{
				for (j=0; j<M; j++)
				{
					matrice[i][j]=-matrice[i][j];
				}
			}
		}
		S=0;
		for (j=0; j<M; j++)
		{
			Scol=0;
			for (i=0; i<N; i++)
			{
				Scol+=matrice[i][j];
			}
			S+=abs(Scol);
		}
		if (S>Smax) Smax=S;
	}
	ofstream ous;
	ous.open("flip.out");
	ous<<Smax;
	ous.close();
	return 0;
}