Cod sursa(job #531143)

Utilizator tudorsTudor Siminic tudors Data 8 februarie 2011 22:49:10
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>
using namespace std;
int S[20];
int M[20][20];
int m,n,rez;

FILE *f,*g;

void citeste()
{
	int i,j;
	fscanf(f,"%d %d",&n,&m);
	for (i=1;i<=n;i++)
		for (j=1;j<=m;j++)
			fscanf(f,"%d",&M[i][j]);
}

void rezolva()
{
	int i,j,s,rs=0;
	for (i=1;i<=n;i++)
	{
		s=0;
		for (j=1;j<=m;j++)
			if (S[j])
				s-=M[i][j];
			else
				s+=M[i][j];
		if (s<0)
			rs-=s;
		else
			rs+=s;
	}
	if (rs>rez)
		rez=rs;
}

void bt(int k)
{
	if (k==m+1)
	{
		rezolva();
		return;
	}
	S[k]=0;
	bt(k+1);
	S[k]=1;
	bt(k+1);
}

int main()
{
	f=fopen("flip.in","r");
	g=fopen("flip.out","w");
	citeste();
	bt(1);
	fprintf(g,"%d",rez);
	fclose(f);
	fclose(g);
	return 0;
}