Cod sursa(job #389763)

Utilizator DavideVitelaruDavide Vitelaru DavideVitelaru Data 2 februarie 2010 11:16:09
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.17 kb
#include <fstream.h>
#include <iostream.h>

//Filp de pe infoarena

int n,m;
int tabla[100][100];
int i,j;

void citire()
{
	ifstream in("flip.in");
	in>>n>>m;
	for (i=0; i<n; i++)
	{
		for (j=0; j<m; j++)
		{
		   in>>tabla[i][j];
		}
		in;
	}
	in.close();
}

int getMaxSum()
{
	int total=0;
	for (i=0; i<n; i++)
		for (j=0; j<m; j++)
		    total+=tabla[i][j];
	return total;
}

void lines()
{
	for (i=0; i<n; i++)
	{
		int normalsum=0;
		for (j=0; j<m; j++)
		{
			normalsum+=tabla[i][j];
		}
		int othersum=0;
		for (j=0; j<m; j++)
		{
			othersum+=tabla[i][j]*-1;
		}
		if (othersum>normalsum)
			for (j=0; j<m; j++)
				tabla[i][j]=tabla[i][j]*-1;

	}
}

void columns()
{
	for (j=0; j<m; j++)
	{
		int normalsum=0;
		for (i=0; i<n; i++)
		{
			normalsum+=tabla[i][j];
		}
		int othersum=0;
		for (i=0; i<n; i++)
		{
			othersum+=tabla[i][j]*-1;
		}
		if (othersum>normalsum)
			for (i=0; i<n; i++)
				tabla[i][j]=tabla[i][j]*-1;

	}
}

void main()
{
	citire();

	if (n>m)
	{
		lines();
		columns();
	}
	else
	{
		columns();
		lines();
	}

	ofstream out("filp.out");
	out<<getMaxSum();
	out.close();
}