Cod sursa(job #737594)

Utilizator DenisONIcBanu Denis Andrei DenisONIc Data 19 aprilie 2012 19:08:14
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <stdio.h>
FILE* f=fopen("flip.in","r");
FILE* g=fopen("flip.out","w");
long v[20],x,n2,n,i,j,nr,ok,v2[20],m[20][20],sav1,sav2,maxc,maxl,s;
int main()
{
	fscanf(f,"%ld%ld",&n,&n2);
	ok=1;
	while (ok==1)
	{
		ok=0;
		for (i=1;i<=n;i++)
		{
			for (j=1;j<=n2;j++)
			{
				fscanf(f,"%ld",&m[i][j]);
				
				v[i]=v[i]+m[i][j];
			}
		}
		for (i=1;i<=n2;i++)
			for (j=1;j<=n;j++)
				
				v2[i]=v2[i]+m[j][i];
		if (n>n2) x=n;
		else x=n2;
		for (i=1;i<=n;i++)
		{
			if (v[i]<0) 
			{
				ok=1;
				/*
				sav1=i;
				maxc=v[i];
				*/
				for (j=1;j<=n2;j++)
					m[i][j]=m[i][j]*-1;
			}
			if (v2[i]<0) 
			{
				ok=1;
				/*
				sav2=i;
				maxl=v2[i];
				*/
				for (j=1;j<=n;j++)
					m[j][i]=m[j][i]*-1;
				
			}
		}
		nr++;
		if (nr>10)
			break;
	}
	/*
	for (i=1;i<=n2;i++)
		m[sav1][i]=m[sav1][i]*-1;
	
	for (i=1;i<=n;i++)
		m[i][sav2]=m[i][sav2]*-1;
	*/
	for (i=1;i<=n;i++)
		for (j=1;j<=n2;j++)
			s=s+m[i][j];
	fprintf(g,"%ld\n",s);
	fclose(f);
	return 0;
}