Cod sursa(job #160802)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 16 martie 2008 21:16:13
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 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++)        
           x+=stv[j]*v[i][j];        
        if(x>0) sum+=x;
		else  sum+=-x;
	}        
    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\n", sum_max);        
    return 0;        
}