Cod sursa(job #398838)

Utilizator nandoLicker Nandor nando Data 19 februarie 2010 15:18:19
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

using namespace std;

#define MAX 32

int tbl[MAX][MAX],flip[MAX],n,m,sm=INT_MIN;

void back(int pos,int p){
	flip[pos]=p;
	if(pos==m){
		int s=0;
		for(int i=0;i<n;i++){
			int sr=0;
			for(int j=0;j<m;j++){
				sr+=flip[j]*tbl[i][j];
			}	
			s+=(sr>-sr)?sr:-sr;
		}
		if(s>sm){
			sm=s;
		}
	}else{
		back(pos+1,-1);
		back(pos+1,1);
	}
}
int main(){
	fstream fin("flip.in",ios::in);
	fstream fout("flip.out",ios::out);
	fin>>n>>m;
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			fin>>tbl[i][j];
		}
	}
	back(0,-1);
	back(0,1);
	fout<<sm;
	fin.close();
	fout.close();
}