Cod sursa(job #966853)

Utilizator cosmin16Didii Theodor-Cosmin cosmin16 Data 26 iunie 2013 17:39:59
Problema Jocul Flip Scor 20
Compilator c Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <stdio.h>
int matrix[16][16];
int sum(int n, int m){
	int i, j, sum = 0;

	for(i = 0; i < n; i++)
		for(j = 0; j < m; j++)
			sum += matrix[i][j];
	return sum;
}
void change_line(int i, int m){
	int j;
	for(j = 0; j < m; j++)
		matrix[i][j] *= -1;
}
void change_row(int j, int n){
	int i;
	for(i = 0; i < n; i++)
		matrix[i][j] *= -1;
}
int main()
{
	freopen ("flip.in","r",stdin);
	freopen ("flip.out","w",stdout);

	int n, m, i, j;
	scanf("%d%d", &n, &m);


	for(i = 0; i < n; i++)	
		for(j = 0; j < m; j++)
			scanf("%d", &matrix[i][j]);

	int max_sum = 0;
	int temp_sum = 0;

	max_sum = sum(n, m);



	for(i = 0; i < n; i++){
		change_line(i, m);
		temp_sum = sum(n, m);
		if(temp_sum > max_sum){
			max_sum = temp_sum;
		}else
			change_line(i, m);
	}	
	for(j = 0; j < m; j++){
		change_row(j, n);
		temp_sum = sum(n, m);
		if(temp_sum > max_sum){
			max_sum = temp_sum;
		}else
			change_row(j, n);
	}	
	printf("%d\n", max_sum);
}