Pagini recente » Cod sursa (job #2369370) | Cod sursa (job #1389902) | Cod sursa (job #2369468) | Cod sursa (job #1464781) | Cod sursa (job #820073)
Cod sursa(job #820073)
#include <stdio.h>
#include <stdlib.h>
void flip( int a[],int dim)
{
int i;
for( i = 0; i < dim; i++)
a[i] = a[i] * (-1);
}
void flipCol( int *a[],int j,int dim)
{
int i;
for( i = 0; i < dim; i++)
a[i][j] = a[i][j] * (-1);
}
int suma( int a[], int dim){
int i, sum = 0;
for( i = 0; i < dim; i++)
sum += a[i];
return sum;
}
int sumaCol( int *a[], int dim, int j){
int i, sum = 0;
for( i = 0; i < dim; i++)
sum += a[i][j];
return sum;
}
int main(){
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
int n ,m , sum = 0, i, j;
scanf("%d",&m);
scanf("%d",&n);
int **v;
v = malloc(m * sizeof(int*));
for( i = 0; i < m; i++)
v[i] = malloc( n * sizeof(int*));
for( i = 0; i < m; i++){
for( j = 0; j < n; j++){
scanf("%d",v[i] + j);
}
}
for( i = 0; i < m; i++){
if( suma(v[i], n) < 0){
flip(v[i], n);
}
}
for( i = 0; i < n; i++){
if( sumaCol(v, m,i) < 0)
flipCol(v,i,m);
}
for( i = 0; i < m; i++){
sum += suma(v[i], n);
}
printf("%d",sum);
}