Cod sursa(job #199561)

Utilizator maria_elenaMaria Elena maria_elena Data 19 iulie 2008 14:12:05
Problema Jocul Flip Scor 20
Compilator c Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <stdio.h>
#include <stdlib.h>
#define MAX 16

int main (int argc, char **argv)
{
	FILE *f, *g;
	int N, M;
	int i, j;
	char c;
	int mat[MAX][MAX];
	int sum = 0, suma = 0;

	f = fopen("flip.in", "r");
	g = fopen("flip.out", "w");

	fscanf(f, "%d", &N);
	fscanf(f, "%c", &c);
	fscanf(f, "%d", &M);

	i = j = 0;

	while (!feof(f))
	{
		fscanf(f, "%d", &mat[i][j++]);
		fscanf(f, "%c", &c);
		if ( c == '\n' )
		{
			i++;
			j = 0;
		}
	}

	//verificare pe linii
	for (i = 0; i<N; i++)
	{
		for (j = 0; j<M; j++)
			sum = sum + mat[i][j];
		if (sum < (-sum))
		{
			for(j=0; j<M; j++)
			{
				mat[i][j] = -mat[i][j];
			}
		}
		sum = 0;
	}

	//verificare pe coloane
	for (j = 0; j<M; j++)
	{
		for (i = 0; i<N; i++)
			sum = sum + mat[i][j];
		if (sum < (-sum))
		{
			for(i=0; i<N; i++)
			{
				mat[i][j] = -mat[i][j];
			}
		}
		sum = 0;
	}

	suma = 0;

	for (i = 0; i<N; i++)
		for (j = 0; j<M; j++)
			suma = suma + mat[i][j];
	fprintf(g, "%d\n", suma);

	fclose(f);
	fclose(g);
	return 0;
}