Cod sursa(job #390253)

Utilizator SzabiVajda Szabolcs Szabi Data 3 februarie 2010 13:04:29
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>

int m,n;
int a[17][17];
short mb[17];



void szamol(short v[17],short poz,short mit,short k){
int temp;
temp=(v[poz]+mit)/2;
v[poz]=(v[poz]+mit)%2;
if((temp!=0)&&(poz+1<=k)){szamol(v,poz+1,temp,k);}

}



int main(){
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
int i,j,max=-858993460,sum,kettes=1,k,temp;
	
	scanf("%d %d",&m,&n);
	for(i=1;i<=m;i++){kettes=kettes*2;}


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

for(k=1;k<=kettes;k++){
 sum=0;
	for(j=1;j<=n;j++){
		temp=0;
		for(i=1;i<=m;i++){
			if(mb[i]){temp+=a[i][j];}else{temp-=a[i][j];}

		}

	} if(temp>0){sum+=temp;}else{sum-=temp;}
	szamol(mb,1,1,m);
	if (sum>max){max=sum;}
}


printf("%d",max);

return 0;
}