Cod sursa(job #694)

Utilizator DjSefuWrong name DjSefu Data 11 decembrie 2006 18:54:01
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<stdio.h>
FILE *f=fopen("flip.in","r"),
     *g=fopen("flip.out","w");
long long o,n,m,a[16][16],i,j,sp,sn,ok,s1,s2;
int main()
{ fscanf(f,"%lld %lld",&m,&n);
  for(i=1;i<=m;i++)
    for(j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
  while(ok==0&&o<10){ ok=1;o++;

		for(i=1;i<=m;i++) { sp=0;sn=0;
				    for(j=1;j<=n;j++) if(a[i][j]<0) sn+=a[i][j];
						      else sp+=a[i][j];
				    if(sn*(-1)>sp) ok=0;
				    else for(j=1;j<=n;j++) a[i][j]*=-1;
				  }

		for(i=1;i<=n;i++) { sp=0;sn=0;
				    for(j=1;j<=m;j++) if(a[i][j]<0) sn+=a[i][j];
						      else sp+=a[i][j];
				    if(sn*(-1)>sp) ok=0;
				    else for(j=1;j<=m;j++) a[i][j]*=-1;
				  }
		s2=0;
		for(i=1;i<=m;i++) for(j=1;j<=n;j++) s2+=a[i][j];
		if(s2<s1) {sp=s1;ok=1;}
		else s1=s2;
	       }
  fprintf(g,"%lld",sp);
  fclose(f);
  fclose(g);
  return 0;
}