Cod sursa(job #1183078)

Utilizator maooBompa Mario maoo Data 8 mai 2014 14:58:29
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
#include<iostream>
#include<cstdio>

using namespace std;
int main()
{
	int suma=0;
	int m,n,v[20][20],i,j,suml[20],sumc[20],ok;
	freopen("flip.in","r",stdin);
	freopen("flip.out","w",stdout);
	cin>>n>>m;
	for(i=1;i<=n;i+=1)
		for(j=1;j<=m;j+=1)
			cin>>v[i][j];
	for(i=1;i<=n;i++)
	{
		suml[i]=0;
		for(j=1;j<=m;j++)
			suml[i]+=v[i][j];
	}
	for(i=1;i<=m;i++)
	{
		sumc[i]=0;
		for(j=1;j<=n;j++)
			sumc[i]+=v[j][i];
	}
	ok=1;
	while(ok)
	{
		ok=0;
		for(i=1;i<=n;i++)
		{
			if(suml[i]<0)
			{
				suml[i]=suml[i]*(-1);
				for(j=1;j<=m;j++)
					v[i][j]=v[i][j]*(-1);
				ok=1;
			}
		}
		if(ok)
		{
			ok=0;
			for(i=1;i<=m;i++)
			{
				sumc[i]=0;
				for(j=1;j<=n;j++)
					sumc[i]+=v[j][i];
			}
		}
		for(i=1;i<=m;i++)
		{
			if(sumc[i]<0)
			{
				sumc[i]=sumc[i]*(-1);
				for(j=1;j<=n;j++)
					v[j][i]=v[j][i]*(-1);
				ok=1;
			}
		}
		if(ok)
		{
			for(i=1;i<=n;i++)
			{
				suml[i]=0;
				for(j=1;j<=m;j++)
					suml[i]+=v[i][j];
			}
		}
	}
	
	for(i=1;i<=m;i++)
		suma+=sumc[i];
	cout<<suma<<endl;
	return 0;
}