Cod sursa(job #1717262)

Utilizator TrifuTrifu Marius Trifu Data 14 iunie 2016 17:08:29
Problema Jocul Flip Scor 30
Compilator c Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<stdio.h>
int main ()
{
	FILE *f;
	int n,m,i,j,ok=1;
	long A[16][16],suma1,suma2,sum=0;
	f=fopen("flip.in","r");
	fscanf(f,"%d",&n);
	fscanf(f,"%d",&m);
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			fscanf(f,"%ld",&A[i][j]);
	fclose(f);
	while(ok!=0)
	{
		ok--;
		for(i=0;i<n;i++)
		{
			suma1=0;
			suma2=0;
			for(j=0;j<m;j++)
			{
				suma1+=A[i][j];
				suma2-=A[i][j];
			}
			if(suma2>suma1)
			{
				for(j=0;j<m;j++)
					A[i][j]=-A[i][j];
				ok++;
			}
		}
		for(i=0;i<m;i++)
		{
			suma1=0;
			suma2=0;
			for(j=0;j<n;j++)
			{
				suma1+=A[j][i];
				suma2-=A[j][i];
			}
			if(suma2>suma1)
			{
				for(j=0;j<n;j++)
					A[j][i]=-A[j][i];
				ok++;
			}
		}
	}
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			sum+=A[i][j];
	f=fopen("flip.out","w");
	fprintf(f,"%ld",sum);
	fclose(f);
	return 0;
}