Cod sursa(job #721053)

Utilizator toniobFMI - Barbalau Antonio toniob Data 23 martie 2012 10:55:44
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <cstdio>

const int NMax= 17;
int v[NMax][NMax],pm[NMax],smax = -1,n,m;
FILE *in,*out;

void citire () {
	in = fopen ("flip.in", "r");
	out = fopen ("flip.out","w");
	
	fscanf (in,"%d%d", &n,&m);
	
	for (int i=1,j=1;i<=n;fscanf (in,"%d",v+i*NMax +j),i=(j==m)?i+1:i,j=(j==m)?1:j+1);
}

void procesare () {
	int sl = 0;
	for (int i = 1; i <= N; ++i) {
		int sc = 0;
		for (int j = 1; j <= M; ++j) {
			sc += **(v+i*NMax+j) * *(pm + j);
		}
		sl += (sc > -sc ? sc : -sc);
	}
	smax = smax > sl ? smax : sl;
}

void bkt (int *v) {
	if (v == pm + m + 1) {
		procesare();
		return;
	}
	
	*v = 1;
	bkt(v+1);
	*v = -1;
	bkt(v+1);
}

void scriere () {
	fprintf (out,"%d",smax);
	
	fclose(in);
	fclose(out);
}

int main () {
	citire ();
	
	bkt (pm + 1);
	
	scriere();
	
	return 0;
}