Pagini recente » Cod sursa (job #3306954) | Cod sursa (job #3303882) | Cod sursa (job #3305704) | Cod sursa (job #3330454) | Cod sursa (job #3311437)
#include <iostream>
#include <fstream>
using namespace std;
void helloWorld() {
const auto lang = "C++";
cout << "Hello and welcome to " << lang << "!\n";
for (int i = 1; i <= 5; i++) {
cout << "i = " << i << endl;
}
}
/*
*FLIP: inmulteste linii, coloane cu -1 asa incat sa ajungi la suma cea mai mare
*
*problema: pot strica toate nr de pe prima linie si sa reintorc semnu la primu numar daca inmultesc
*coloana 1
*
*comut toate liniile care dau sub 0
*apoi toate coloanele care dau sub 0
*dau output
*/
int n, m;
int a[16][16];
int main() {
ifstream fin("flip.in");
ofstream fout("flip.out");
fin >> n >> m;
//probez liniile
for (int i = 1; i <= n; ++i) {
int temp_s = 0;
for (int j = 1; j <= m; ++j) {
fin >> a[i][j];
temp_s += a[i][j];
}
if (temp_s < 0) {
//fout << "linia " << i << "\n";
for (int j = 1; j <= m; ++j) {
a[i][j] *= -1;
}
}
}
//probez coloanele
for (int j = 1; j <= m; ++j) {
int temp_s = 0;
for (int i = 1; i <= n; ++i) {
temp_s += a[i][j];
}
if (temp_s < 0) {
//fout << "coloana " << j << "\n";
for (int i = 1; i <= n; ++i) {
a[i][j] *= -1;
}
}
}
/*
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
fout << a[i][j] << ' ';
}
fout << '\n';
}
*/
int s = 0;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
s += a[i][j];
}
}
fout << s << '\n';
return 0;
}