Pagini recente » Cod sursa (job #557599) | Cod sursa (job #168208) | Cod sursa (job #2421248) | Cod sursa (job #1622224) | Cod sursa (job #2775444)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int n, m;
int **tabla;
int *freq_linie;
int *freq_coloana;
void Citire()
{
in >> n >> m;
tabla = new int*[n];
for(int i = 0; i < n; ++i) {
tabla[i] = new int[m];
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
in >> tabla[i][j];
}
}
}
void Comutare()
{
int suma_initiala = 0;
int suma_comutata = 0;
freq_linie = new int[n];
freq_coloana = new int[m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
suma_initiala += tabla[i][j];
suma_comutata -= tabla[i][j];
}
if(suma_initiala > suma_comutata)
freq_linie[i] = 1;
else {
freq_linie[i] = -1;
}
suma_initiala = 0;
suma_comutata = 0;
}
suma_initiala = 0;
suma_comutata = 0;
for (int j = 0; j < m; j++){
for (int i = 0; i < n; i++) {
suma_initiala += tabla[i][j];
suma_comutata -= tabla[i][j];
}
if(suma_initiala > suma_comutata)
freq_coloana[j] = 1;
else {
freq_coloana[j] = -1;
}
suma_initiala = 0;
suma_comutata = 0;
}
}
void Afisare()
{
int suma_finala = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
tabla[i][j] *= freq_linie[i];
}
}
for (int j = 0; j < m; j++){
for (int i = 0; i < n; i++){
tabla[i][j] *= freq_coloana[j];
suma_finala += tabla[i][j];
}
}
out << suma_finala;
}
int main()
{
Citire();
Comutare();
Afisare();
return 0;
}