Cod sursa(job #1119623)

Utilizator ovimiuOvidiu Miu ovimiu Data 24 februarie 2014 18:56:28
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include<iostream>
#include<fstream>
#include<math.h>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");

int merita_linie(int a[100][100], int m, int i)
{
int j,sn=0,sp=0;
for(j=0;j<m;j++)
	if(a[i][j]>=0)
		sp=sp+a[i][j];
	else 
		sn=sn+abs(a[i][j]);
	
if(sp<sn)
	return 1;
else 
	return 0;
}

int merita_coloana(int a[100][100], int n, int j)
{
int i,sn=0,sp=0;
for(i=0;i<n;i++)
	if(a[i][j]>=0)
		sp=sp+a[i][j];
	else 
		sn=sn+abs(a[i][j]);

if(sp<sn)
	return 1;
else 
	return 0;
}

void afisare(int a[100][100],int n,int m)
{
int i,j;
for(i=0;i<n;i++)
	{for(j=0;j<m;j++)
		cout<<a[i][j]<<" ";
		cout<<endl;
	}
}

int main()
{
int n,m,i,j,suma_max=0; int a[100][100];
f>>n>>m;
for(i=0;i<n;i++)
	for(j=0;j<m;j++)
		f>>a[i][j];
for(i=0;i<n;i++)
	if(merita_linie(a,m,i)==1)
		for(j=0;j<m;j++)
			a[i][j]=(a[i][j])*(-1);
for(j=0;j<m;j++)
	if(merita_coloana(a,n,j)==1)
		for(i=0;i<n;i++)
			a[i][j]=a[i][j]*(-1);

for(i=0;i<n;i++)
	for(j=0;j<m;j++)
		suma_max=suma_max+a[i][j];
g<<suma_max;
return 0;
}