Cod sursa(job #715065)

Utilizator lukkerLiNoimi Semain lukker Data 16 martie 2012 16:27:42
Problema Jocul Flip Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <iostream>
using namespace std;

ifstream f("flip.in");
ofstream f2("flip.out");

int m,n;
long long tabel[17][17];
bool sm[17]={false};
long long s=0;

void suma() {
	long long col[17]={0};
	long long vec[17][17];
	long long s2=0;
	for(int i=1;i<=m;i++) {
		for(int j=1;j<=n;j++) {
			if(sm[i]) vec[i][j]=(-1)*tabel[i][j];
			else vec[i][j]=tabel[i][j];
			col[j]+=vec[i][j];
		}
	}
	for(int i=1;i<=n;i++) {
		if(col[i]<0) s2+=(-1)*col[i];
		else s2+=col[i];
	}
	//cout<<s2<<" ";
	if(s2>s) s=s2;
}

void back(int k) {
	if(k==n+1) suma();
	else {
		sm[k]=1,back(k+1);
		sm[k]=0,back(k+1);
	}
}

int main() {
	f>>m>>n;
	for(int i=1;i<=m;i++) {
		for(int j=1;j<=n;j++) {
			f>>tabel[i][j];
		}
	}
	back(1);
	f2<<s;
	return 0;
}