Cod sursa(job #732000)

Utilizator Alexxino7Alexandru Popescu Alexxino7 Data 9 aprilie 2012 15:32:28
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>
#include<cstdlib>
#include<cstring>
using namespace std;

int N,M,Flip[20][20],summax,V[20];

ifstream fin("flip.in");
ofstream fout("flip.out");

void calc(){
	
	int sumaux=0,Aux[20];
	memset(Aux,0,sizeof(Aux));
	
	for(int i=1;i<=N;i++){
		for(int j=1;j<=M;j++){
			Aux[j]+=Flip[i][j]*V[i];
		}
	}
	
	for(int i=1;i<=M;i++){
		sumaux+=Aux[i]<0 ? Aux[i]*-1 : Aux[i];
	}
	
	if(sumaux>summax)
		summax=sumaux;
	
}

void back(int k){
	if(k==N+1)
		calc();
	else{
		V[k]=-1;
		back(k+1);
		V[k]=1;
		back(k+1);
	}
}

int main(){
	fin>>N>>M;
	for(int i=1;i<=N;i++){
		for(int j=1;j<=M;j++){
			fin>>Flip[i][j],summax+=Flip[i][j];
		}
	}
	back(1);
	fout<<summax<<"\n";
	fin.close();
	fout.close();
	return 0;
}