Cod sursa(job #765830)

Utilizator DenisONIcBanu Denis Andrei DenisONIc Data 9 iulie 2012 14:28:09
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 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);
	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];
			}
		}
	ok=1;
	while (ok==1)
	{
		ok=0;
		for (i=1;i<=n2;i++)
			for (j=1;j<=n;j++)
				v2[i]=v2[i]+m[j][i];
		for (i=1;i<=n;i++)
			if (v[i]<0) 
			{
				ok=1;
					v[i]=v[i]*-1;
				for(j=1;j<=n2;j++)
				{
					v2[j]=v2[j]-m[i][j]+m[i][j]*-1;
					m[i][j]=m[i][j]*-1;
				}
			}
		for (i=1;i<=n2;i++)
			if (v2[i]<0) 
			{
				ok=1;
				v2[i]=v2[i]*-1;
				for (j=1;j<=n;j++)
				{
					v[j]=v[j]-m[j][i]+m[j][i]*-1;
					m[j][i]=m[j][i]*-1;
				}
				
			}
			nr++;
			if (nr>100)
				break;
	}
	for (i=1;i<=n;i++)
			s=s+v[i];
	fprintf(g,"%ld\n",s);
	fclose(f);
	return 0;
}