Pagini recente » Cod sursa (job #893602) | Cod sursa (job #1551305) | Cod sursa (job #2432676) | Cod sursa (job #922673) | Cod sursa (job #1040593)
#include <iostream>
#include <fstream>
#define nmax 20
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int N, M;
long a[nmax][nmax], L[nmax], C[nmax];
void flipLinie(int x)
{
L[x] *= -1;
for ( int i=1; i<=M; ++i )
C[i] += (-2) * a[x][i];
}
void flipColoana(int x)
{
C[x] *= -1;
for ( int i=1; i<=N; ++i )
L[i] += (-2) * a[i][x];
}
int main()
{
in >> N >> M;
long s = 0;
for ( int i=1; i<=N; ++i )
for ( int j=1; j<=M; ++j )
{
in >> a[i][j];
L[i] += a[i][j];
C[j] += a[i][j];
}
for ( int i=1; i<=N; ++i )
if ( L[i] < 0 )
flipLinie(i);
for ( int i=1; i<=M; ++i )
if ( C[i] < 0 )
flipColoana(i);
for ( int i=1; i<=N; ++i )
s += L[i];
out << s << '\n';
}