Pagini recente » Cod sursa (job #697948) | Cod sursa (job #18564) | Cod sursa (job #164848) | Cod sursa (job #2943314) | Cod sursa (job #787072)
Cod sursa(job #787072)
#include<fstream>
#include<math.h>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
#define NMAX 16
int n,m,s = 0,x[NMAX][NMAX] = {0};
void citire()
{
f>>n>>m;
for(int i = 0; i < n ; ++i)
for(int j = 0; j < m; ++j)
f>>x[i][j];
}
inline void schimbalin(int k)
{
for(int i = 0; i < m; ++i)
{
if(x[k][i] <= 0)
x[k][i] = (x[k][i] - x[k][i]) + (x[k][i] * -1);
else
x[k][i] = x[k][i] - x[k][i] - x[k][i];
}
}
inline void schimbacol(int k)
{
for(int i = 0; i < n; ++i)
{
if(x[i][k] <= 0)
x[i][k] = (x[i][k] - x[i][k]) + (x[i][k] * -1);
else
x[i][k] = x[i][k] - x[i][k] - x[i][k];
}
}
inline void filip()
{
for(int i = 0; i < n; ++i)
{
int s1 = 0,s2 = 0;
for(int j = 0; j < m; ++j)
{
if(x[i][j] >= 0)
s1 += x[i][j];
else
s2 += x[i][j] *-1;
}
if(s2 > s1)
schimbalin(i);
}
for(int i = 0; i < m ;++i)
{
int s1 = 0,s2 = 0,j = 0;
for(j = 0; j < n; ++j)
{
if(x[j][i] >= 0)
s1 += x[j][i];
else
s2 += x[j][i] *-1;
}
if(s2 > s1)
schimbacol(i);
}
}
void scrie()
{
for(int i = 0; i < n; ++i)
for(int j = 0; j < m; ++j)
s += x[i][j];
g<<s<<'\n';
}
int main()
{
citire();
filip();
scrie();
g.close();
return 0;
}