Cod sursa(job #705115)

Utilizator geobarosanu1Tutuianu George geobarosanu1 Data 3 martie 2012 11:12:41
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
#define max(a,b) a>b ? a : b

int n,m,A[17][17],B[17];

int suma(){
	int sum=0;

	for (int i=1;i<=n;++i)
		for (int j=1;j<=m;++j){
			if (B[j])
				sum+=A[i][j];
			else
				sum-=A[i][j];
		}

	return sum;
}
void rezolva (int sol){

	for (int k=1;k<=(1<<m);++k){
		int rest=k;
		for (int i=1;i<=m;++i){
			B[i]=rest%2;
			rest/=2;
		}

		if (sol<suma())
			sol=suma();

	}

	printf("%d", sol);

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

	scanf("%d %d", &n, &m);
	int sol=0;

	for (int i=1;i<=n;i++)
		for (int j=1;j<=m;j++){
			scanf("%d", &A[i][j]);
			sol+=A[i][j];
		}

	rezolva(sol);

	return 0;
}