Pagini recente » Istoria paginii runda/maplictisescgrav/clasament | Sandbox (cutiuţa cu năsip) | Statistici Haribelina (Haribelina) | Istoria paginii runda/oni_dinamica/clasament | Cod sursa (job #595793)
Cod sursa(job #595793)
#include <fstream>
int main(){
std::ifstream f("flip.in");
std::ofstream g("flip.out");
int n, m, a = 0, b = 0, aux;
f >> n;
f >> m;
int flip[n][m], flip2[n][m];
for(int i = 0; i < n; i++)
for(int j = 0; j < m; j++){
f >> flip[i][j];
flip2[i][j] = flip[i][j];
}
for(int i = 0; i < n; i++){
aux = 0;
for(int j = 0; j < m; j++){
aux += flip[i][j];
}
if(aux < 0)
for(int j = 0; j < m; j++)
flip[i][j] *= -1;
}
for(int i = 0; i < m; i++){
aux = 0;
for(int j = 0; j < n; j++){
aux += flip[j][i];
}
if(aux < 0){
a += -aux;
for(int j = 0; j < n; j++)
flip[j][i] *= -1;
} else {
a += aux;
}
}
for(int i = 0; i < n; i++){
aux = 0;
for(int j = 0; j < m; j++){
aux += flip2[i][j];
}
if(aux < 0)
for(int j = 0; j < m; j++)
flip2[i][j] *= -1;
}
for(int i = 0; i < m; i++){
aux = 0;
for(int j = 0; j < n; j++){
aux += flip2[j][i];
}
if(aux < 0){
b += -aux;
for(int j = 0; j < n; j++)
flip2[j][i] *= -1;
} else {
b += aux;
}
}
a < b? g << b : g << a;
f.close();
g.close();
return 0;
}