Pagini recente » Cod sursa (job #597399) | Cod sursa (job #2705393) | Cod sursa (job #2847011) | Cod sursa (job #2518223) | Cod sursa (job #2420590)
#include <fstream>
using namespace std;
void citire();
bool schimbareLin(const int lin);
bool schimbareCol(const int col);
int n, m;
int a[16][16];
int main()
{
citire();
for (int i = 0; i < n; i++) {
if (schimbareLin(i)) {
for (int j = 0; j < m; j++) {
a[i][j] *= -1;
}
}
}
for (int j = 0; j < m; j++) {
if (schimbareCol(j)) {
for (int i = 0; i < n; i++) {
a[i][j] *= -1;
}
}
}
int s = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
s += a[i][j];
}
}
ofstream fout("flip.out");
fout << s;
fout.close();
return 0;
}
void citire()
{
ifstream fin("flip.in");
fin >> n >> m;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
fin >> a[i][j];
}
}
fin.close();
}
bool schimbareLin(const int lin)
{
int sPoz = 0, sNeg = 0;
for (int col = 0; col < m; col++) {
if (a[lin][col] > 0) {
sPoz += a[lin][col];
}
else {
sNeg += a[lin][col];
}
}
return sPoz < sNeg * -1;
}
bool schimbareCol(const int col)
{
int sPoz = 0, sNeg = 0;
for (int lin = 0; lin < n; lin++) {
if (a[lin][col] > 0) {
sPoz += a[lin][col];
}
else {
sNeg += a[lin][col];
}
}
return sPoz < sNeg * -1;
}