Pagini recente » Cod sursa (job #1112676) | Istoria paginii runda/nr9/clasament | Cod sursa (job #173541) | Cod sursa (job #823329) | Cod sursa (job #2178132)
#include <stdio.h>
using namespace std;
int n, m, a[20][20];
void read()
{
freopen("flip.in", "r", stdin);
scanf("%d %d\n", &n, &m);
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
scanf("%d ", &a[i][j]);
}
void commute(int x, int y)
{
if (x == 1)
{
for(int j = 0; j < m; j++)
a[y][j] *= -1;
}
else
{
for(int i = 0; i < n; i++)
a[i][y] *= -1;
}
}
void sumCheckColumn()
{
int spos = 0;
int sneg = 0;
for (int j = 0; j < m; j++)
{
sneg = 0;
spos = 0;
for (int i = 0; i < m; i++)
{
if (a[i][j] < 0)
sneg += a[i][j];
else
spos += a[i][j];
}
sneg *= -1;
if(sneg > spos)
commute(2, j);
}
}
void sumCheckLine()
{
int spos = 0;
int sneg = 0;
for (int i = 0; i < n; i++)
{
sneg = 0;
spos = 0;
for (int j = 0; j < m; j++)
{
if (a[i][j] < 0)
sneg += a[i][j];
else
spos += a[i][j];
}
sneg *= -1;
if(sneg > spos)
commute(1, i);
}
}
void sum()
{
int sum = 0;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
sum += a[i][j];
freopen("flip.out", "w", stdout);
printf("%d", sum);
}
int main()
{
read();
sumCheckLine();
sumCheckColumn();
sum();
return 0;
}