Cod sursa(job #549766)

Utilizator zeroblitz36FMI - Roscaneanu George zeroblitz36 Data 8 martie 2011 22:10:35
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<cstdio>
FILE *in,*out;
int n,m,v[16][16],i,j,flag,poz1,poz2;
long long s,min1,min2;
int main()
{
	in=fopen("flip.in","r");
	fscanf(in,"%d %d",&n,&m);
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			fscanf(in,"%d",&v[i][j]);
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
			printf("%d ",v[i][j]);
		putchar('\n');
	}
	flag=1;
	while(flag)
	{
		flag=0;
		min1=min2=0;
		for(i=0;i<n;i++)
		{
			s=0;
			for(j=0;j<m;j++)s+=v[i][j];
			if(s<min1){min1=s;flag=1;poz1=i;}
		}
		for(j=0;j<m;j++)
		{
			s=0;
			for(i=0;i<n;i++)s+=v[i][j];
			if(s<min2){min2=s;flag=1;poz2=j;}
		}
		if(flag)
		if(min1<min2)for(j=0;j<m;j++)v[poz1][j]*=-1;
		else for(i=0;i<n;i++)v[i][poz2]*=-1;
	}
	out=fopen("flip.out","w");
	s=0;
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			s+=v[i][j];
		fprintf(out,"%I64d",s);
}