Cod sursa(job #828943)

Utilizator IgrecCorina Popescu Igrec Data 4 decembrie 2012 18:05:08
Problema Jocul Flip Scor 20
Compilator c Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <stdio.h>
#include<stdlib.h>

int main()
{
	FILE *f, *g;
	int i, j, m, n;
	int **a;
	f = fopen("flip.in", "r");
	g = fopen("flip.out", "w");
	fscanf(f, "%d", &n);
	fscanf(f, "%d", &m);
	a = (int **) malloc (n * sizeof(int *));
	for (i = 0; i < n; i++) {
		a[i] = (int *) malloc (m * sizeof(int));
		for (j = 0; j < m; j++)
			fscanf(f, "%d", &a[i][j]);
	}
	int suma = 0;
	for (i = 0; i < n; i++) {
		int poz = 0, neg = 0;
		for (j = 0; j < m; j++) {
			if (a[i][j] > 0)
				poz += a[i][j];
			else
				neg += a[i][j];
		}
		if (-neg > poz)
			for (j = 0; j < m; j++)
				a[i][j] = -a[i][j];
	}
	for (j = 0; j < m; j++) {
		int poz = 0, neg = 0;
		for (i = 0; i < n; i++) {
			if (a[i][j] > 0)
				poz += a[i][j];
			else
				neg += a[i][j];
		}
		neg = -neg;
		if (poz > neg)
			suma += poz - neg;
		else
			suma += neg - poz;
	}
	fprintf(g, "%d\n", suma);
	fclose(f);
	fclose(g);
	return 0;
}