Cod sursa(job #2043259)

Utilizator DACSTEPStepan Dacian DACSTEP Data 19 octombrie 2017 19:57:50
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
using namespace std;
ifstream fi("flip.in");
ofstream fo("flip.out");
int n,m,A[20][20],B[20][20],SC[20];
int rez;
int S[20];

void g(int k)
{
	int i,suma;
	if (k==n)
	{
		for (int i=1;i<=n;i++)
			for (int j=1;j<=m;j++)
				if (S[i]==0)
					B[i][j]=A[i][j];
				else
					B[i][j]=-A[i][j];
		for (int i=1;i<=m;i++)
			SC[i]=0;
		for (int i=1;i<=n;i++)
			for (int j=1;j<=m;j++)
				SC[j]+=B[i][j];
		suma=0;
		for (int i=1;i<=m;i++)
			if (SC[i]>=0)
				suma=suma+SC[i];
			else
				suma=suma-SC[i];
		if (suma>rez)
			rez=suma;
	}
	else
		for (i=0;i<=1;i++)
		{
			S[k+1]=i;
			g(k+1);
		}
}

int  main()
{
	fi>>n>>m;
	for(int i=1;i<=n;i++)
		for (int j=1;j<=m;j++)
			fi>>A[i][j];
	rez=-1;
	g(0);
	fo<<rez;
	fi.close();
	fo.close();
	return 0;
}