Cod sursa(job #361664)

Utilizator vladiiIonescu Vlad vladii Data 6 noiembrie 2009 10:35:41
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream f1, f2;
	int a[17][17], semn[17], i, j, n, m, p, q, r, s, max=0, k;
	f1.open("flip.in", ios::in);
	f1>>n>>m;
	for(i=1; i<=n; i++) {
		for(j=1; j<=m; j++) {
			f1>>a[i][j];
		}
	}
	f1.close();
	p=(1<<m);
	for(i=1; i<=p; i++) {
		q=i;
		for(j=1; j<=m; j++) {
			semn[j]=0;
			semn[j]=q%2; q=q/2;
		}
		//semn[j]=0 daca o sa comut coloana j
		//semn[j]=1 daca nu o sa comut coloana j
		s=0;
		for(j=1; j<=n; j++) {
			k=0;
			for(r=1; r<=m; r++) {
				if(semn[r]==1) {
					k+=a[j][r];
				}
				else {
					k-=a[j][r];
				}
			}
			if(k<0) { k=-k; }
			s+=k;
		}
		if(s>max) {
			max=s;
		}
	}
	f2.open("flip.out", ios::out);
	f2<<max<<endl;
	f2.close();
	return 0;
}