Cod sursa(job #754426)

Utilizator catalincocisCatalin Cocis catalincocis Data 2 iunie 2012 00:44:15
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <cstdio>
#include <stdlib.h>

int main()
{
	FILE *f = fopen("flip.in","r");
	FILE *g = fopen("flip.out","w");
	int m,n;
	int a[16][16];
	fscanf(f,"%d",&m);
	fscanf(f,"%d",&n);
	
	for (int i=0;i<m;i++)
		for (int j=0;j<n;j++)
			fscanf(f,"%d",&a[i][j]);

	bool ok = false;
	while (!ok)
	{
		ok = true;
		//modifica suma pe linii
		for (int i=0;i<m;i++)
		{
			int sum = 0;
			for (int j=0;j<n;j++)
				sum += a[i][j];
			if (sum < 0)
			{
				ok = false;
				for (int j=0;j<n;j++)
					a[i][j] = -a[i][j];
			}
		}

		//modifica pe coloane
		for (int j=0;j<n;j++)
		{
			int sum = 0;
			for (int i=0;i<m;i++)
				sum += a[i][j];
			if (sum < 0)
			{
				ok = false;
				for (int i=0;i<m;i++)
					a[i][j] = -a[i][j];
			}
		}
	}

	int sum = 0;
	for (int i=0;i<m;i++)
		for (int j=0;j<n;j++)
			sum += a[i][j];

	fprintf(g,"%d",sum);

	fclose(f);
	fclose(g);
}