Pagini recente » Cod sursa (job #1700443) | Cod sursa (job #3226620) | Cod sursa (job #2602336) | Cod sursa (job #1927264) | Cod sursa (job #2917550)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main() {
const int MAX_SIZE = 16;
int matrix[MAX_SIZE + 1][MAX_SIZE + 1], linesNr, columnsNr;
ifstream fin("flip.in");
ofstream fout("flip.out");
fin >> linesNr >> columnsNr;
for (int lineIndex = 1; lineIndex <= linesNr; ++lineIndex) {
for (int columnIndex = 1; columnIndex <= columnsNr; ++columnIndex) {
fin >> matrix[lineIndex][columnIndex];
}
}
int columns_sum = 1000000, columnPozition;
for (int columnIndex = 1; columnIndex <= columnsNr; ++columnIndex) {
int sum = 0;
for (int lineIndex = 1; lineIndex <= linesNr; ++lineIndex) {
sum += matrix[lineIndex][columnIndex];
}
if (sum < columns_sum) {
columns_sum = sum;
columnPozition = columnIndex;
}
}
int lines_sum = 1000000, linePozition;
for (int lineIndex = 1; lineIndex <= linesNr; ++lineIndex) {
int sum = 0;
for (int columnIndex = 1; columnIndex <= columnsNr; ++columnIndex) {
sum += matrix[lineIndex][columnIndex];
}
if (sum < lines_sum) {
lines_sum = sum;
linePozition = lineIndex;
}
}
for (int columnIndex = 1; columnIndex <= columnsNr; ++columnIndex) {
matrix[linePozition][columnIndex] *= -1;
}
for (int lineIndex = 1; lineIndex <= linesNr; ++lineIndex) {
if (lineIndex != linePozition) {
matrix[lineIndex][columnPozition] *= -1;
}
}
int sum = 0;
for (int lineIndex = 1; lineIndex <= linesNr; ++lineIndex) {
for (int columnIndex = 1; columnIndex <= columnsNr; ++columnIndex) {
sum += matrix[lineIndex][columnIndex];
}
}
fout << sum;
return 0;
}