Cod sursa(job #303900)

Utilizator Cosmin1490Balan Radu Cosmin Cosmin1490 Data 10 aprilie 2009 14:44:32
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>
int N,M,C[18][18],A[34],S,ST;


void citire()
{
FILE *F;
F=fopen("flip.in","r");
fscanf(F,"%d",&N);
fscanf(F,"%d",&M);
int i,j;
for(i=1;i<=N;i++)
	for(j=1;j<=M;j++)
	fscanf(F,"%d",&C[i][j]);
fclose(F);
}


void verificare()
{int c[18][18],i,j;
S=0;
for(i=1;i<=N;i++)
for(j=1;j<=M;j++)
c[i][j]=C[i][j];
for(i=1;i<=N;i++)
if (A[i]==1) for(j=1;j<=M;j++) c[i][j]=-1*c[i][j];
for(j=1;j<=M;j++)
if(A[i+N]==1) for(i=1;i<=N;i++) c[i][j]=-1*c[i][j];

for(i=1;i<=N;i++)
for(j=1;j<=M;j++)
S=S+c[i][j];
if(ST<S) ST=S;
}

void bkt(int k)
{int i;
if (k==M+N+1) verificare();
	else
	{
	for(i=0;i<=1;i++)
		{
		A[k]=i;
		bkt(k+1);
		}
	}
}



int main()
{
citire();
bkt(1);
FILE *G;
G=fopen("flip.out","w");
fprintf(G,"%d",ST);
fclose(G);
return 0;
}