Cod sursa(job #1788252)

Utilizator wilson182Alexandrina Panfil wilson182 Data 25 octombrie 2016 20:38:49
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<bits/stdc++.h>
int t[25][25], t1[25][25], c[25], smax = 0, s, sp, n, m;
void sim()
{
	int i, j;
	s=0;
	for(i = 1; i<=n; i++)
	for(j = 1; j<=m; j++) {
		t1[i][j]=t[i][j];
		if (c[j]) t1[i][j]*=(-1);
	}
	for(i = 1; i<=n; i++)
	{
		sp = 0;
		for (j=1; j<=m; j++) sp+=t1[i][j];
		sp=abs(sp);
		s+=sp;
	}
	if (s > smax) smax = s;
}
void schura(int i){
	if (i == m){
		sim();
		c[i]=1;
		sim();
		c[i]=0;
	}
	else {
		schura(i+1);
		c[i]=1;
		schura(i+1);
		c[i]=0;
	}
}
int main(){
	int i, j;
	freopen("flip.in", "r", stdin);
	freopen("flip.out", "w", stdout);
	scanf("%d %d", &n, &m);
	for (i = 1; i<=n; i++)
	for(j = 1; j<=m; j++) scanf("%d", &t[i][j]);
	schura(1);
	printf("%d", smax);
	return 0;
}