Cod sursa(job #825499)

Utilizator negrinegrean mihai negri Data 29 noiembrie 2012 09:43:27
Problema Jocul Flip Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(){

	FILE *fp, *fr;
	int m, n, result = 0, i, j, suma = 0, previousI = -1;
	int a[16][16];

	fp = fopen("flip.in","r");
	fr = fopen("flip.out", "w");

	fscanf(fp, "%d", &m);
	fscanf(fp, "%d", &n);
	fscanf(fp, "\n");
	
	for(i = 0; i < m; i++){
		for(j = 0; j < n; j++){
			fscanf(fp, "%d", &a[i][j]);
		}
		fscanf(fp, "\n");
	}

	/*for(i = 0; i < m; i++){
		for(j = 0; j < n; j++){
			printf("%d ", a[i][j]);
		}
		printf("\n");
	}*/

	printf("\n");

	for(i = 0; i < m; i++){
		for(j = 0; j < n; j++){
			if(previousI == i) {
				a[i][j] = 0 - a[i][j];
			} else {
				suma = suma + a[i][j];
			}
		}
		if(suma < 0) {
			previousI = i;
			i--;
		}
		suma = 0;
	}
	
	for(i = 0; i < n; i++){
		for(j = 0; j < m; j++){
			if(previousI == i) {
				a[j][i] = 0 - a[j][i];
			} else {
				suma = suma + a[j][i];
			}
		}
		if(suma < 0) {
			previousI = i;
			i--;
		}
		suma = 0;
	}


	
	for(i = 0; i < m; i++){
		for(j = 0; j < n; j++){
			result += a[i][j];
		}
	}

	fprintf(fr, "%d", result);


	fclose(fp);
	fclose(fr);

	return 0;
}