Cod sursa(job #768044)

Utilizator micuhdPop Claudiu micuhd Data 15 iulie 2012 19:31:36
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include<iostream>
#include<fstream>
#include<math.h>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
long long a[17][17],stotal1,stotal2,summinus,sumplus;
int main()
{
int n,m,i,j,k,ok=1;
	f>>n>>m;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			f>>a[i][j];
	while(ok==1)
	{
		ok=1;
		for(i=1;i<=n;i++)
		{
			summinus=0;
			sumplus=0;
			
			for(j=1;j<=m;j++)
			{
				if(a[i][j]<0)
					summinus=summinus+a[i][j];
				else
					sumplus=sumplus+a[i][j];
			}
			if((-1)*summinus>sumplus)
			{
				for(k=1;k<=m;k++)
				{
					a[i][k]=a[i][k]*(-1);
				}
				stotal1=stotal1+(-1)*summinus-sumplus;
				ok=0;
			}
			else
				stotal1=stotal1+sumplus+summinus;
		}
		for(i=1;i<=m;i++)
		{
			summinus=0;
			sumplus=0;
			for(j=1;j<=n;j++)
			{
				if(a[j][i]<0)
					summinus=summinus+a[j][i];
				else
					sumplus=sumplus+a[j][i];
			}
			if((-1)*summinus>sumplus)
			{
				for(k=1;k<=n;k++)
				{
					a[k][i]=a[k][i]*(-1);
				}
				stotal2=stotal2+(-1)*summinus-sumplus;
				ok=0;
			}
			else
				stotal2=stotal2+sumplus+summinus;
			
		}
	}
	g<<max(stotal2,stotal1);
	return 0;
}