Cod sursa(job #968662)

Utilizator andy1496Casu-Pop Andrei andy1496 Data 2 iulie 2013 15:15:41
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb

#include <cstdio>

using namespace std;

int a[20][20];

int main (void) {
	freopen("flip.in", "r", stdin);
	freopen("flip.out", "w", stdout);

	int n, m, s = 0,max1,max2;
	scanf ("%d %d", &n, &m);

	for (int i = 0; i < n; i++)
		for (int j = 0; j < m; j++) {
			scanf("%d",&a[i][j]);
			s=s+a[i][j];
		}

	for (int i = 0; i < (1<<n); i++) {
		int p = 0;
		for (int k = 0; k < m; k++) {
			int s1 = 0, s2 = 0;
			for (int j = 0; j < n; j++)
				if (i & (1<<j)) {
					s1 = s1- a[j][k];
					s2 = s2 + a[j][k];
				}
				else {
					s1 = s1 + a[j][k];
					s2 = s2 - a[j][k];
				}
				if (s1>s2){max1=s1;}
				else {max1=s2;}
				p= p + max1;
		}
		if (s>p){max2=s;}
		else {max2=p;}
		
	}

	printf ("%d",max2);

	return 0;

}