Cod sursa(job #272358)

Utilizator valentinroscaRosca Valentin valentinrosca Data 6 martie 2009 21:57:35
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include<fstream.h>
#include<math.h>
long n,m,i,j,v[17][17],l[17],c[17],s,ci,cj,min;
int main()
{
	ifstream fin("flip.in");
	ofstream fout("flip.out");
	fin>>n>>m;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			fin>>v[i][j];
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			l[i]=l[i]+v[i][j];
        min=l[1];
	for(i=1;i<=n;i++)
		if(l[i]<0)
		{
			l[i]=(long)fabs(l[i]);
			for(j=1;j<=m;j++)
				v[i][j]=v[i][j]*-1;
			s++;
		}
	if(s==0)
	{
		for(i=1;i<=n;i++)
			if(l[i])
				if(l[i]<min)
				{
					min=l[i];
					ci=i;
				}
		l[ci]=-l[ci];
		for(j=1;j<=m;j++)
			v[i][j]=v[i][j]*-1;
	}
	for(j=1;j<=m;j++)
		for(i=1;i<=n;i++)
			c[j]=c[j]+v[i][j];
	min=c[1];
        s=0;
	for(j=1;i<=m;j++)
		if(c[j]<0)
                {
			c[j]=(long)fabs(c[j]);
                        s++;
		}
	if(s==0)
        {
		for(j=1;j<=m;j++)
                	if(c[j])
				if(c[j]<min)
				{
					min=c[j];
                               	 	cj=j;
				}
		c[cj]=-c[cj];
	}
        s=0;
	for(j=1;j<=m;j++)
		s=s+c[j];
        fout<<s;
	return 0;
}