Cod sursa(job #686551)

Utilizator mihaibossmihai truta mihaiboss Data 21 februarie 2012 18:28:39
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include<fstream>
#include<math.h>

using namespace std;

int main()

{
	ifstream fin("flip.in");
	ofstream fout("flip.out");
	long int m[17][17],v1[17],v2[17],s=0;
	int N,M,i,j;
	
	fin>>N>>M;
	
	for(i=1;i<=N;i++)
		v1[i]=0;
	
	for(j=1;j<=M;j++)
		v2[j]=0;
	
	for(i=1;i<=N;i++)
		for(j=1;j<=M;j++)
			{
				fin>>m[i][j];
				v1[i]+=m[i][j];
			}
	
	for(i=1;i<=N;i++)
	{
		if(v1[i]<0)
			{
				v1[i]=-v1[i];
				for(j=1;j<=M;j++)
					m[i][j]=-m[i][j];
			}
		
	}
	
	for(i=1;i<=N;i++)
		for(j=1;j<=M;j++)
			{
				v2[j]+=m[i][j];
			}
		
		
		
		for(j=1;j<=M;j++)
	{
		if(v2[j]<0)
			{
				v2[j]=-v2[j];
				for(i=1;i<=N;i++)
					m[i][j]=-m[i][j];
			}
		
	}
		
		for(i=1;i<=N;i++)
		v1[i]=0;
		
		for(i=1;i<=N;i++)
		for(j=1;j<=M;j++)
			{
				v1[i]+=m[i][j];
			}
		
		for(i=1;i<=N;i++)
	{
		if(v1[i]<0)
			{
				v1[i]=-v1[i];
				for(j=1;j<=M;j++)
					m[i][j]=-m[i][j];
			}
		
	}
		
		
		for(i=1;i<=N;i++)
		for(j=1;j<=M;j++)
			s+=m[i][j];
		
		fout<<s;
		
	return 0;
}