Cod sursa(job #160800)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 16 martie 2008 21:14:32
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include<stdio.h>        
#define INF -1000000
#define N 20
int v[N][N],stv[N];
int i,j,n,m,sum_max=INF;        
void verifica()
{        
    int x,sum;        
    for(sum=0,i=0;i<n;i++)
	{        
        for(x=0,j=0;j<m;j++)        
           {/*printf("%d ",stv[j]);*/  x+=stv[j]*v[i][j]; }        
        if(x>0)
			sum+=x;
		else 
			sum+=-x;
		//printf("  %d\n",sum);
	}        
    if(sum>sum_max) sum_max=sum;         
}        
void back(int x)
{        
    if(x>=m)
		verifica();	
	else
	{        
        stv[x]=1;        
        back(x+1);        
        stv[x]=-1;        
        back(x+1);        
    }  
}        
int main()
{        
    freopen("flip.in","r",stdin);        
    freopen("flip.out","w",stdout);        
    scanf("%d%d", &n, &m);        
    
	for(i=0;i<n;i++)        
        for(j=0;j<m;j++)        
            scanf("%d",&v[i][j]);        
    
	back(0);        
    printf("%d", sum_max);        
    return 0;        
}