Cod sursa(job #554194)

Utilizator swim406Teudan Adina swim406 Data 14 martie 2011 17:51:36
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include<fstream>
using namespace std;
int sumal(int v[][17], int p, int k)
{
	int s=0,i;
	for (i=1;i<=p;i++)
		s=s+v[k][i];
	return s;
}
int sumaschl(int v[][17],int p, int k)
{
	int s=0,i;
	for (i=1;i<=p;i++)
		s=s-v[k][i];
	return s;
}
int sumac(int v[][17], int c, int m)
{
	int s=0,i;
	for (i=1;i<=m;i++)
		s=s+v[i][c];
	return s;
}
int sumaschc(int v[][17], int c, int m)
{
	int s=0,i;
	for (i=1;i<=m;i++)
		s=s-v[i][c];
	return s;
}
int main()
{
	ifstream f("flip.in");
	ofstream g("flip.out");
	int v[17][17],m,n,i,j,x,ok,suma=0;
	f>>m>>n;
	for (i=1;i<=m;i++)
		for (j=1;j<=n;j++)
		{
			f>>x;
			v[i][j]=x;
		}
	do
	{
		ok=0;
		for (i=1;i<=m;i++)
			if (sumal(v,n,i)<sumaschl(v,n,i))
			{
				ok=1;
				for (j=1;j<=n;j++)
					v[i][j]=-v[i][j];
			}
		for (i=1;i<=n;i++)
			if (sumac(v,i,m)<sumaschl(v,i,m))
			{
				ok=1;
				for (j=1;j<=m;j++)
					v[j][i]=-v[j][i];
			}
	}while(ok);
	for (i=1;i<=m;i++)
		for (j=1;j<=n;j++)
			suma=suma+v[i][j];
	g<<suma;
	return 0;
}