Cod sursa(job #781687)

Utilizator killerkiller11Balas Tudor killerkiller11 Data 24 august 2012 21:34:39
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include<fstream>
using namespace std;
ofstream fout("flip.out");
int N,M,v[100][100],x,updown[100],leftright[100],updown2[100],leftright2[100],misca=1;
void citire()
{
	
	ifstream fin("flip.in");
	fin>>N>>M;
	for(int i=1;i<=N;++i)
		for(int j=1;j<=M;++j)
			fin>>v[i][j];
}

void magic()
{
	while(misca)
	{
		misca=0;
		for(int j=1;j<=N;j++)
		{
			for(int i=1;i<=M;i++)
			{
				leftright[j]=leftright[j]+v[j][i];
				leftright2[j]=leftright2[j]-v[j][i];
			}
			if(leftright2[j]>leftright[j])
			{
				for(int i=1;i<=N;i++)
					v[j][i]=-1*v[j][i];
				misca++;
			}
		}
	}
	misca=1;
	while(misca)
	{
		misca=0;
		for(int j=1;j<=N;j++)
		{
			for(int i=1;i<=M;i++)
			{
				updown[j]=updown[j]+v[i][j];
				updown2[j]=updown2[j]-v[i][j];
			}
			if(updown2[j]>updown[j])
			{
				for(int i=1;i<=N;i++)
					v[i][j]=-1*v[i][j];
				misca++;
			}
		}
	}
	
}

void afisare()
{
	
	for(int i=1;i<=N;i++)
		for(int j=1;j<=M;j++)
			x=x+v[i][j];
	fout<<x;
}	
int main()
{
	citire();
	magic();
	afisare();
	return 0;
}