Cod sursa(job #374105)

Utilizator RoCkyRomila RoCky Data 15 decembrie 2009 22:58:44
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>

std::ifstream in("flip.in");
std::ofstream out("flip.out");
int a[17][17],max,m,n;
void flip2(int k)
{
	for(int i=0;i<n;i++)
		a[i][k]=-a[i][k];
}
void flip(int k)
{
	for(int i=0;i<m;i++)
		a[k][i]=-a[k][i];
}
int main ()
{
	int i,j;
	int del,sum,s;
	in>>n>>m;
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
		{
			in>>a[i][j];
			max+=a[i][j];
		}
	for(i=0;i<n;i++)
	{
		del=0;
		s=0;
		for(j=0;j<m;j++)
		{
			if(a[i][j]>0)
				del +=a[i][j];
			s+=a[i][j];
		}
		if(s<0)
			flip(i);
		sum+=s-del;
		if(s>max)
			max=s;
	}
	for(j=0;j<m;j++)
	{
		del=0;
		s=0;
		for(i=0;i<n;i++)
		{
			if(a[i][j]>0)
				del+=a[i][j];
			s+=a[i][j];
		}
		if(s<0)
			flip2(j);
		sum+=s-del;
		if(s>max)
			max = s ;
	}
	out<<max;
	out.close();
	return 0;
}