Pagini recente » Cod sursa (job #2067584) | Cod sursa (job #2326853) | Cod sursa (job #1460942) | Cod sursa (job #1585338) | Cod sursa (job #1054676)
#include <stdio.h>
long long sum_matrix(int matrix[16][16],int lines, int cols)
{
long long sum = 0;
int i,j;
for (i=0; i < lines; i++)
for (j=0; j < cols; j++)
sum+= matrix[i][j];
return sum;
}
void changeLine(int matrix[16][16], int n, int m, int no)
{
int i = 0;
if(no < n)
for( i=0; i<m; i++)
matrix[no][i]*=(-1);
else if(no < n+m)
for( i=0; i<n; i++)
matrix[i][no % n]*=(-1);
}
long long calcLine(int matrix[16][16], int n, int m, int no)
{
long long sum = 0;
int i = 0;
if(no < n)
for(i=0;i<m;i++)
sum+=matrix[no][i];
else if(no < n+m)
for(i=0;i<n;i++)
sum+=matrix[i][no%n];
return sum;
}
int main()
{
freopen ("flip.in","r",stdin);
freopen ("flip.out","w",stdout);
int n,m;
int matrix[16][16];
scanf("%d %d", &n, &m);
int i=0, j=0;
for (i =0 ; i < n; i++ )
for (j=0; j < m; j++)
scanf("%d", &matrix[i][j]);
for(i= 0; i< n+m ; i++)
{
if(calcLine(matrix, n, m, i)< 0)
{
changeLine(matrix, n, m, i);
i = -1;
}
}
printf("%lld",sum_matrix(matrix,n,m));
fclose(stdout);
fclose(stdin);
return 0;
}