Pagini recente » Cod sursa (job #1166360) | Cod sursa (job #887795) | Cod sursa (job #2387528) | Cod sursa (job #1901465) | Cod sursa (job #393151)
Cod sursa(job #393151)
#include <fstream>
using namespace std;
ifstream f1("flip.in");
ofstream f2("flip.out");
long long f[20][16], s, d;
int n, m;
void citire ()
{
f1>>n;
f1>>m;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
f1>>f[i][j];
f1.close();
}
void flipLinie (int z)
{
short l = -1;
for ( int i = 0; i < m; i++)
{
f[z][i] = f[z][i] * l;
}
}
void flipColoana (int z)
{
short l = -1;
for ( int i = 0; i < n; i++)
{
f[i][z] = f[i][z] * l;
}
}
void sumaColoane (int z)
{
s = 0;
d = 0;
short l = -1;
for (int i = 0; i < n; i++)
{
if ( f[i][z] < 0 ) d += f[i][z];
else s += f[i][z];
}
if ( (d * l)> s ) flipColoana (z);
}
void sumaLinii (int z)
{
s = 0;
d = 0;
short l = -1;
for (int i = 0; i < m; i++)
{
if ( f[z][i] < 0 ) d += f[z][i];
else s += f[z][i];
}
if ( (d * l)> s ) flipLinie (z);
}
void suma ()
{
s = 0;
for ( int i = 0; i < n; i++)
for ( int j = 0; j < m; j++)
s += f[i][j];
f2<<s;
f2.close();
}
void linii ()
{
for ( int i = 0; i < n; i++)
sumaLinii (i);
}
void coloane ()
{
for ( int i = 0; i < m; i++)
sumaColoane (i);
}
int main ()
{
citire ();
linii();
coloane ();
linii();
suma ();
return 0;
}