Cod sursa(job #791659)

Utilizator Mitza444Vidrean Mihai Mitza444 Data 24 septembrie 2012 19:15:12
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<cstdio>
#include<algorithm>
using namespace std;
#define val 1000001
int n,m,sum,sol[22],mat[22][22];
void back(int k){
	int s,rez=0;
	if(k-1==n){
		int i,j;
		for(i=1;i<=m;i++){
			s=0;
			for(j=1;j<=n;j++)
				s+=mat[j][i]*sol[j];
			rez+=max(s,-s);
		}
		sum=max(sum,rez);
	}
	else{
		sol[k]=1;
		back(k+1);
		sol[k]=-1;
		back(k+1);
	}
}
int main(){
	freopen("flip.in","r",stdin);
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			scanf("%d",&mat[i][j]);
	fclose(stdin);
	sum=-val;
	back(1);
	freopen("flip.out","w",stdout);
	printf("%d",sum);
	fclose(stdout);
	return 0;
}