Cod sursa(job #1242182)

Utilizator boardkingLazar Zsolt boardking Data 14 octombrie 2014 01:02:06
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

FILE *fin,*fout;
int a[17][17],b[17],d[17],n,m,i,j,c,sum=0,jo=0,k;


int main(void)
{
	fin=fopen("flip.in","r");
	fout=fopen("flip.out","w");
	fscanf(fin,"%d %d",&n,&m);
	for (i=0;i<n;i++)
		for (j=0;j<m;j++)
		{
			fscanf(fin,"%d",&c);
			a[i][j]=c;
			b[i]=b[i]+c;
			b[j+n]=b[j+n]+c;
		};
	fclose(fin);
	while (jo==0)
	{ 
	  jo=1;
	  for(i=0;i<n+m;i++)
	   if (b[i]<0)
	   {
		   jo=0;
		   if (i<n)
		   {
			   b[i]=-1*b[i];
			   for(j=0;j<m;j++)
			   {
				   a[i][j]=-1*a[i][j];
				   b[n+j]=b[n+j]+2*a[i][j];
			   }
		   }
		   else
		   {
			   b[i]=-1*b[i];
			   for(j=0;j<n;j++)
			   {
				   a[j][i-n]=-1*a[j][i-n];
				   b[j]=b[j]+2*a[j][i-n];
			   }
		   }
	   }

	}
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
		sum=sum+a[i][j];
	fprintf(fout,"%d",sum);
	fclose(fout);

}