Cod sursa(job #972533)

Utilizator dannywox969Trial and Error dannywox969 Data 11 iulie 2013 23:21:40
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<stdio.h>

int mat[16][16],i,j,m,n,sum;
int schimb;

void flip()
{
	schimb = 1;
	while(schimb)
	{
		schimb = 0;
		for(i=0; i<n; i++)
		{
			sum = 0;
			for(j=0; j<m; j++)
				sum += mat[i][j];
				
			if(sum < -sum)
			{
				schimb = 1;
				for(j=0; j<m; j++)
					mat[i][j] = mat[i][j]*(-1);
			}
		}
		for(j=0; j<m; j++)
		{
			sum = 0;
			for(i=0; i<n; i++)
				sum += mat[i][j];
			
			if(sum < -sum)
			{
				schimb = 1;
				for(i=0; i<n; i++)
					mat[i][j] = mat[i][j]*(-1);
			}
		}
	}
}

int suma()
{
	sum = 0;
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			sum += mat[i][j];
		
	return sum;
}

int main()
{	
	freopen("flip.in","r",stdin);
	freopen("flip.out","w",stdout);
	
	scanf("%d",&n);
	scanf("%d",&m);
	
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			scanf("%d",&mat[i][j]);

	flip();
	printf("%d", suma());
	return 0;
}