Cod sursa(job #568664)

Utilizator valentin.harsanValentin Harsan valentin.harsan Data 31 martie 2011 16:14:06
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<iostream>
#include<fstream>
#define N 17
using namespace std;

int n,m,x[N][N],sol[N],smax;

void ver() {
	int i,j,sum,ssum=0;
	for(i=1;i<=n;++i) {
		if(sol[i]==1) {
			for(j=1;j<=m;++j) {
				x[i][j]=-x[i][j];
			}
		}
	}
	for(i=1;i<=m;++i) {
		sum=0;
		for(j=1;j<=n;++j) {
			sum+=x[j][i];
		}
		if(sum<0) ssum-=sum;
		else ssum+=sum;
	}
	if(ssum>smax) 
		smax=ssum;
}

void back(int q) {
	int i;
	if(q==n+1) {
		ver();
		return;
	}
	for(i=1;i<=2;++i) {
		sol[q]=i;
		back(q+1);
	}
}

int main() {
	int i,j;
	freopen("filip.in","r",stdin);
	freopen("filip.out","w",stdout);
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;++i)
		for(j=1;j<=m;++j)
			scanf("%d",&x[i][j]);
	back(1);
	printf("%d",smax);
	return 0;
}