Cod sursa(job #689424)

Utilizator TwistedFaithStanescu Jean Alexandru TwistedFaith Data 24 februarie 2012 14:42:26
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int i,x=1,j,N,q; long m[16][16]; double long s;
void randul(int a, int b)
{
	for(i=1;i<=a;i++)
	{
		s=0; x=0;
		for(j=1;j<=b;j++)
			s+=m[i][j];
		if (s<0)
			{x=1; for(j=1;j<=b;j++) m[i][j]=-m[i][j];}
	}
}
void col(int a, int b)
{
	for(i=1;i<=b;i++)
	{
		s=0; x=0;
		for(j=1;j<=a;j++)
			s+=m[j][i];
		if(s<0)
			{ for(j=1;j<=a;j++) m[j][i]=-m[j][i]; x=1;}
	}
	if(x) randul(a,b);
}
void suma(int a, int b)
{
	s=0;
	for(i=1;i<=a;i++)
		for(j=1;j<=b;j++)
			s+=m[i][j];
	fout<<s;
}
int main()
{
	fin>>N>>q;
	for(i=1;i<=N;i++)
		for(j=1;j<=q;j++)
			fin>>m[i][j];
	do
	{randul(N,q);
	col(N,q);}
	while(x);
	suma(N,q);	
}