Pagini recente » Cod sursa (job #2600158) | Cod sursa (job #835914) | Cod sursa (job #2724464) | Cod sursa (job #314841) | Cod sursa (job #1880348)
#include <iostream>
#include <fstream>
#include <vector>
int main(void)
{
std::ifstream f("flip.in");
int n, m;
f >> n >> m;
std::vector<std::vector<int> > flip_matrix(n, std::vector<int>(m, 0));
std::vector<std::vector<int> > verif_matrix(n, std::vector<int>(m, 0));
for (int i = 0; i < n; ++i)
for (int j = 0; j < m; ++j)
f >> flip_matrix[i][j];
//Vad care linii au suma negativa si le inversez valorile
for (int i = 0; i < n; ++i) {
int sum = 0;
for (int j = 0; j < m; ++j)
sum += flip_matrix[i][j];
if (sum < 0) {
for (int j = 0; j < m; ++j) {
flip_matrix[i][j] = - flip_matrix[i][j];
verif_matrix[i][j] = 1;
}
}
}
//Vad care coloane au suma negativa si le inversez valorile
for (int j = 0; j < m; ++j) {
int sum = 0;
for (int i = 0; i < n; ++i)
sum += flip_matrix[i][j];
if (sum < 0) {
for (int i = 0; i < n; ++i)
if(verif_matrix[i][j] == 0)
flip_matrix[i][j] = - flip_matrix[i][j];
}
}
//Calculez suma maxima a elementelor matricei
int sum = 0;
for (int i = 0; i < n; ++i)
for (int j = 0; j <m; ++j)
sum += flip_matrix[i][j];
std::ofstream g("flip.out");
g << sum;
g << std::endl;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j)
g << flip_matrix[i][j] << " ";
g << std::endl;
}
f.close();
g.close();
return 0;
}