Cod sursa(job #849622)

Utilizator mikethebossMihai Truta miketheboss Data 7 ianuarie 2013 13:43:33
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include<fstream.h>

using namespace std;

int N,M,m[17][17],i,j,s;
ifstream fin("flip.in");
ofstream fout("flip.out");

void citire();
void afisare();
int smax();

int main()
{
	citire();
	
	fout<<smax();
	//afisare();
	
	fin.close();
	fout.close();
	return 0;
}

void citire()
{
	fin>>N>>M;
	for(i=1;i<=N;i++)
		for(j=1;j<=M;j++)
			fin>>m[i][j];
}

void afisare()
{
	for(i=1;i<=N;i++)
		{
		for(j=1;j<=M;j++)
			fout<<m[i][j]<<" ";
		fout<<"\n";
		}
}

int smax()
{
	int k=0;
	bool sem=0;
	while(!sem)
	{
		sem=1;
		for(i=1;i<=N;i++)
		{
			k=0;
		for(j=1;j<=M;j++)
		{
			k+=m[i][j];
		}
		if(k<0)
		{
			for(j=1;j<=M;j++)
			m[i][j]*=-1;
			sem=0;
			//fout<<"\nlinia"<<i<<"\n";
		}
		}
		for(j=1;j<=M;j++)
		{
			k=0;
		for(i=1;i<=N;i++)
		{
			k+=m[i][j];
		}
		if(k<0)
		{
			for(i=1;i<=N;i++)
			m[i][j]*=-1;
			sem=0;
			//fout<<"\ncoloana"<<j<<"\n";
		}	
		}
	}
	for(i=1;i<=N;i++)
		for(j=1;j<=M;j++)
			s+=m[i][j];
		
		return s;
}