Cod sursa(job #709675)

Utilizator SeekHunt1334Septimiu Bodica SeekHunt1334 Data 8 martie 2012 14:12:37
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <fstream>
using namespace std;

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

int n, m;
double flip[16][16],spoz, sneg, sumatot, scur;

void Solve();
double Flip(int i);
double Flipcol(int j);


int main()
{
	Solve();
	
	fin.close();
	fout.close();
	return 0;
}

void Solve()
{
	fin >> n >> m;
	
	for (int i = 0; i < n; i++)
	{
		spoz = 0;
		sneg = 0;
		for (int j = 0; j < m; j++)
		{
			fin >> flip[i][j];
			if (flip[i][j] > 0)
				spoz += flip[i][j];
			else
				sneg += flip[i][j] * (-1);
		}
		
		if (sneg > spoz)
			Flip(i);
		
	}
	
	for (int j = 0; j < m; j++)
	{	
		spoz = 0; 
		sneg = 0;
		scur = 0;
		for (int i = 0; i < n; i++)
		{
			if (flip[i][j] > 0)
			{
				spoz += flip[i][j];
				scur += flip[i][j];
			}
			else
			{
				sneg += flip[i][j] * (-1);
				scur += flip[i][j];
			}
		}
		
		if (sneg > spoz)
		{
			scur = 0;
			Flipcol(j);
		}
		
		sumatot += scur;
	}
	
	fout << sumatot;
}

double Flip(int i)
{
	for (int j = 0; j < m; j++)
		flip[i][j] *= -1;
	
	return 0;
}

double Flipcol(int j)
{
	for (int i = 0; i < n; i++)
	{
		flip[i][j] *= -1;
		scur += flip[i][j];
	}
	return scur;
}