Pagini recente » Cod sursa (job #772468) | Cod sursa (job #3286067) | Cod sursa (job #1370018) | Cod sursa (job #2813357) | Cod sursa (job #2640499)
#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;
const int nmax = 16, mmax = 16;
int mat[nmax+1][mmax+1], n, m;
void flipColoana(int mat[nmax+1][mmax+1], int col){
for(int i = 0; i < n; i++)
mat[i][col] *= -1;
}
void flipLinie(int mat[nmax+1][mmax+1], int row){
for(int i = 0; i < m; i++)
mat[row][i] *= -1;
}
bool checkColoana(int mat[nmax+1][mmax+1], int col){
int sum = 0;
for(int i = 0; i < n; i++)
sum += mat[i][col];
return (sum < 0);
}
bool checkLinie(int mat[nmax+1][mmax+1], int row){
int sum = 0;
for(int i = 0; i < m; i++)
sum += mat[row][i];
return (sum < 0);
}
int main() {
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
cin >> n >> m;
for(int i = 0; i < n; i++)
for(int j = 0; j < m; j++)
cin >> mat[i][j];
for(int i = 0; i < n; i++)
if(checkLinie(mat, i))
flipLinie(mat, i);
for(int i = 0; i < m; i++)
if(checkColoana(mat, i))
flipColoana(mat, i);
int sum = 0;
for(int i = 0; i < n; i++)
for(int j = 0; j < m; j++)
sum += mat[i][j];
cout << sum;
}