Cod sursa(job #779639)

Utilizator EtienneMatcovici Stefan Etienne Data 18 august 2012 14:05:24
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
using namespace std;
FILE*fin=fopen("flip.in","r");
FILE*fout=fopen("flip.out","w");
int m,n,a[16][16],v[20],maxim,sc;
void sol(int k)
{
	int i,j,s;
	s=0;
	//for (i=0;i<20;i++)
	//	fprintf(fout,"%d",v[i]);
	//fprintf(fout,"\n");
	if (k==n)
	{
		s=0;
		for (i=0;i<n;i++)
		{
			sc=0;
			for (j=0;j<m;j++)
			{
				sc=sc+a[i][j]*v[j];
			}
			if (sc<0)
				sc=sc*(-1);
			s=s+sc;
		}
		if (s>maxim)
			maxim=s;
	}
	else
	{
		v[k]=1;
		sol(k+1);
		v[k]=-1;
		sol(k+1);
	}
}
int main()
{
	int i,j;
	fscanf(fin,"%d%d",&n,&m);
	
	for (i=0;i<n;i++)
	{
		for (j=0;j<m;j++)
		{
			fscanf(fin,"%d",&a[i][j]);
		}
	}
	
	maxim=0;
	sol(0);
	
	fprintf(fout,"%d",maxim);
}