Cod sursa(job #934564)

Utilizator PsychoRoAlex Buicescu PsychoRo Data 30 martie 2013 19:48:24
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.35 kb
#include <iostream>
#include <fstream>
#include <stdlib.h>

std::ifstream fin("flip.in");
std::ofstream fout("flip.out");

//std::ifstream fin("date.in");
//std::ofstream fout("date.out");

long cmmdc(long a, long b)
{
	if(!b)
	{
		return a;
	}
	else
	{
		return cmmdc(b, a%b);
	}
}

void citeste()
{
	int n = 0, m = 0;
	fin>>n>>m;
	long a[16][16], sumeR[16], sumeC[16];

	for(int i = 0 ; i < n ; i++)
	{
		for(int j = 0 ; j < m ; j++)
		{
			fin>>a[i][j];

			if(!i)
			{
				sumeC[j] = a[i][j];
			}
			else
			{
				sumeC[j] += a[i][j];
			}

			if(!j)
			{
				sumeR[i] = a[i][j];
			}
			else
			{
				sumeR[i] += a[i][j];
			}
		}
	}

	long sumTot = 0;

	for(int i = 0; i < n; i++)
	{
		if(sumeR[i] < 0)
		{
			for(int k = 0 ; k < m ; k++)
			{
				a[i][k] *= (-1);
				sumeC[k] += a[i][k] * 2;
			}
		}
//		std::cout<<sumeR[i]<<' ';
//		sumTot += abs(sumeR[i]);
	}
	std::cout<<'\n';


	for(int i = 0; i < m; i++)
	{
		if(sumeC[i] < 0)
		{
			for(int k = 0 ; k < n ; k++)
			{
				a[k][i] *= (-1);
				sumeR[k] += a[k][i] * 2;
			}
		}
//		std::cout<<sumeR[i]<<' ';
//		sumTot += abs(sumeR[i]);
	}

	for(int i = 0 ; i < n ; i++)
	{
		for(int j = 0 ; j < m ; j++)
		{
			sumTot += a[i][j];
		}
	}
//	std::cout<<sumTot;
fout<<sumTot;


}

int main()
{
	citeste();
	return 0;
}