Cod sursa(job #221365)

Utilizator silvia_the_bestSilvia Pripoae silvia_the_best Data 16 noiembrie 2008 11:45:59
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <cstdio>
#define FIN "flip.in"
#define FOUT "flip.out"
#define N 20
int m,n,v[N][N],sum;
void read(){
	int i,j;
	freopen(FIN,"r",stdin);
	scanf("%d%d",&n,&m);
	for (i=0;i<n;++i)
		for (j=0;j<m;++j)
		{
			scanf("%d",&v[i][j]);
			sum+=v[i][j];
		}
}
void matrice(int x)
{
	int s=0,i,j,sumlin[N]={0};
	for(i=0;i<n;++i)
		for(j=0;j<m;++j)
			if(x & (1<<j))//daca bitul j al lui x este 1 adun, altfel scad
				sumlin[i]+=v[i][j];
			else
				sumlin[i]-=v[i][j];
	for(i=0;i<n;++i)
		s += (sumlin[i]>=0 ? sumlin[i] : -sumlin[i]);
	if(s>sum)
		sum=s;
}
void solve(){
	int i;
	for (i=0;i!=1<<m;++i)
		matrice(i);
}
void write(){
	freopen(FOUT,"w",stdout);
	printf("%d\n",sum);
}
int main(){
	read();
	solve();
	write();
}