Cod sursa(job #1111377)

Utilizator BernardBernard Pirlea Bernard Data 18 februarie 2014 20:35:39
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.39 kb
#include<iostream>
#include<fstream>
using namespace std;
int a[20][20],n,m,snrneg,snrpoz,smax;
ifstream f("flip.in");
ofstream g("flip.out");
int main ()
{	f>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			f>>a[i][j];
	if(n>m)
	{	for(int j=1;j<=m;j++)
		{	for(int i=1;i<=n;i++)
			 {	if(a[i][j]<0){	a[i][j]=a[i][j]*(-1)
								 snrneg=snrneg+a[i][j];}
					else snrpoz=snrpoz+a[i][j];
			 }
			if(snrneg>snrpoz)	for(int j=1;j<=m;j++)
									for(int i=1;i<=n;i++) a[i][j]=a[i][j]*(-1);
		}
		snrneg=0;snrpoz=0;
		for(int i=1;i<=n;i++)
		{	for(int j=1;j<=m;j++)
				{	if(a[i][j]<0)snrneg=snrneg+a[i][j]*(-1);
						else snrpoz=snrpoz+a[i][j];
				}
			if(snrneg>snrpoz)	for(int i=1;i<=n;i++)
									for(int j=1;j<=m;j++) a[i][j]=a[i][j]*(-1);
		}	
	}	
	if(n<m)
	{	for(int i=1;i<=n;i++)
		{	for(int j=1;j<=m;j++)
				{	if(a[i][j]<0)snrneg=snrneg+a[i][j]*(-1);
						else snrpoz=snrpoz+a[i][j];
				}
			if(snrneg>snrpoz)	for(int i=1;i<=n;i++)
									for(int j=1;j<=m;j++) a[i][j]=a[i][j]*(-1);
		}
		snrneg=0;snrpoz=0;
		for(int j=1;j<=m;j++)
		{	for(int i=1;i<=n;i++)
			 {	if(a[i][j]<0)snrneg=snrneg+a[i][j]*(-1);
					else snrpoz=snrpoz+a[i][j];
			 }
			if(snrneg>snrpoz)	for(int j=1;j<=m;j++)
									for(int i=1;i<=n;i++) a[i][j]=a[i][j]*(-1);
		}
	}
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			smax=smax+a[i][j];
	g<<smax;
	return 0;
}