Pagini recente » Cod sursa (job #1697631) | Cod sursa (job #3175318) | Cod sursa (job #2252564) | Cod sursa (job #3136968) | Cod sursa (job #1009983)
#include <iostream>
#include <fstream>
using namespace std;
int n, m;
int a[17][17];
bool invertion = true;
void invert_rows()
{
// Invert negative rows
for (int i = 0; i < n; i++) {
long int sum = 0;
for (int j = 0; j < m; j++) {
sum += a[i][j];
}
if (sum < 0) {
for (int j = 0; j < m; j++) {
a[i][j] = -a[i][j];
invertion = true;
}
}
}
}
void invert_cols()
{
// Invert negative columns
for (int j = 0; j < m; j++) {
long int sum = 0;
for (int i = 0; i < n; i++) {
sum += a[i][j];
}
if (sum < 0) {
for (int i = 0; i < n; i++) {
a[i][j] = -a[i][j];
invertion = true;
}
}
}
}
int main()
{
ifstream input("flip.in");
input >> n >> m;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
input >> a[i][j];
}
}
while (invertion) {
invertion = false;
invert_rows();
invert_cols();
}
// Calculate the matrix sum
long int sum = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
sum += a[i][j];
}
}
ofstream output("flip.out");
output << sum;
}