Pagini recente » Cod sursa (job #1986937) | Cod sursa (job #1274413) | Cod sursa (job #1986950) | Cod sursa (job #2020864) | Cod sursa (job #966856)
Cod sursa(job #966856)
#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);
int current_max = 0;
while( current_max != max_sum){
current_max = max_sum;
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);
}