Cod sursa(job #622035)

Utilizator d0llaMot Ioana d0lla Data 17 octombrie 2011 11:10:25
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include<fstream>
using namespace std;
int a[20][20],b[20][20],n,m;
void refacerej(int y)
{
	int i;
	for(i=1;i<=n;i++)
		b[i][y]=b[i][y]*(-1);
}
void refacerei(int x)
{
	int j;
	for(j=1;j<=m;j++)
		b[x][j]=b[x][j]*(-1);
}
int sumacoloana(int y)
{
	int i,s1=0;
	for(i=1;i<=n;i++)
		s1=s1+a[i][y];
	if(s1<(s1*(-1)))
		refacerej(y);
}
int sumalinie(int x)
{
	int j,s1=0;
	for(j=1;j<=m;j++)
		s1=s1+a[x][j];
	if(s1<(s1*(-1)))
	refacerei(x);
}
int suma()
{
	int i,j,s=0;
	for(i=1;i<=n;i++)
	for(j=1;j<=m;j++)
	s=s+b[i][j];
	
	return s;
}
int main()
{
	int i,j,s1,s2;
	ifstream f("flip.in");
	ofstream g("flip.out");
	f>>n>>m;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
		{
			f>>a[i][j];
			b[i][j]=a[i][j];
		}
	for(i=1;i<=n;i++)
		sumalinie(i);
	for(j=1;j<=m;j++)
		sumacoloana(j);
	s1=suma();
	for(i=1;i<=n;i++)
	 for(j=1;j<=m;j++)
	 b[i][j]=a[i][j];
	 for(j=1;j<=m;j++)
		sumacoloana(j);
	for(i=1;i<=n;i++)
		sumalinie(i);	
	s2=suma();
	if(s1<s2)
	s1=s2;
	g<<s1;
	f.close();
	g.close();
	return 0;
}