Cod sursa(job #583709)

Utilizator DaninetDani Biro Daninet Data 21 aprilie 2011 23:38:00
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<cstdio>
#include<iostream>
#include<cmath>
#define NMAX 17

int a[NMAX][NMAX];
int n,m;

inline int max(int a, int b) {
	if(a>b) return a;
	else return b;
}

int back(int level) {
	
	if(level <= n) {
		int x,y;
		a[0][level] = 1;
		x = back(level+1);
		a[0][level] = -1;
		y = back(level+1);
		return max(x, y);
	} else {
		int s = 0;
		for(int i = 1; i<=m; ++i) {
			int s2 = 0;
			for(int j = 1; j<=n; ++j)
				s2+=a[j][i] * a[0][j];
			s+=abs(s2);
		}
		
		return s;
	}
	
	
}

int main() {
	
	FILE *f = fopen("flip.in", "r");
	FILE *g = fopen("flip.out", "w");
	
	fscanf(f,"%d %d", &n, &m);
	
	for(int i = 1; i<=n; ++i)
		for(int j = 1; j<=m; ++j)
			fscanf(f,"%d",&a[i][j]);
	
	fprintf(g, "%d", back(1));
	
	fclose(g);
}