Cod sursa(job #540629)

Utilizator flocociocoBarbu Florina flococioco Data 24 februarie 2011 09:44:44
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n,m,a[17][17],x[17],k,i,j,smax=-1;

void prelsol(){
	int stot=0,s,i,j;
	for(i=1; i<=n; ++i){
		s=0;
		for(j=1; j<=n; ++j) if(x[j]) s-=a[i][j]; else s+=a[i][j];
		if(s<0) stot-=s; else stot+=s; 
	}
	if(stot>smax) smax=stot;
}

void back(){
	k=1; x[k]=-1;
	do{
		while(x[k]<1){
			x[k]++;
			if(k==m) prelsol();
				else x[++k]=-1; //k++; x[k]=-1;
		}
	k--;
	}while(k);
}

int main(){
	f>>n>>m;
	for(i=1; i<=n; ++i) 
		for(j=1; j<=m; ++j) f>>a[i][j];
	back();
	g<<smax<<'\n'; g.close(); return 0;
}