Cod sursa(job #707289)

Utilizator sorin2kSorin Nutu sorin2k Data 5 martie 2012 20:59:56
Problema Jocul Flip Scor 20
Compilator c Status done
Runda Arhiva de probleme Marime 1.24 kb
/*
 * string.c
 *
 *  Created on: 05.03.2012
 *      Author: Sorin
 */
#include<stdio.h>
void comutaLinia(int a[16][16], int m, int i);
void comutaColoana(int a[16][16], int n, int j);
int sumaLinie(int a[16][16], int m, int i);
int sumaColoana(int a[16][16], int n, int j);
int main(void)
{
	int a[16][16], m, n, i, j, suma=0;
	FILE *in;
	in=fopen("flip.in", "r");
	FILE *out;
	out=fopen("flip.out", "w");
	fscanf(in, "%d%d", &n, &m);
	for(i=0; i<n; i++)
		for(j=0; j<m; j++)
			fscanf(in, "%d", &a[i][j]);
	for(i=0; i<n; i++)
	{
		if(sumaLinie(a, m, i)<0)
			comutaLinia(a, m, i);
	}
	for(j=0; j<m; j++)
	{
		if(sumaColoana(a, n, j)<0)
			comutaColoana(a, n, j);
	}
	for(i=0; i<n; i++)
		for(j=0; j<m; j++)
			suma=suma+a[i][j];
	fprintf(out, "%d", suma);
	return 0;
}
void comutaLinia(int a[16][16], int m, int i)
{
	int j;
	for(j=0; j<m; j++)
		a[i][j]=-a[i][j];
}
void comutaColoana(int a[16][16], int n, int j)
{
	int i;
	for(i=0; i<n; i++)
		a[i][j]=-a[i][j];
}
int sumaLinie(int a[16][16], int m, int i)
{
	int j, suma=0;
	for(j=0; j<m; j++)
		suma=suma+a[i][j];
	return suma;
}
int sumaColoana(int a[16][16], int n, int j)
{
	int i, suma=0;
	for(i=0; i<n; i++)
		suma=suma+a[i][j];
	return suma;
}