Pagini recente » Borderou de evaluare (job #189124) | Borderou de evaluare (job #3336046) | Borderou de evaluare (job #3336409) | Borderou de evaluare (job #3324643) | Cod sursa (job #1536092)
#include <fstream>
using namespace std;
int main() {
long map[17][17];
int n, m;
ifstream f("flip.in");
f>>n>>m;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++) {
f>>map[i][j];
}
f.close();
long sumaL = 0;
int x = 0;
long sumaC = 0;
int y = 0;
for(int i=1; i<=n; i++) {
long suma = 0;
for(int j=1; j<=m; j++) {
suma+= map[i][j];
}
if(suma<0) {
x ++;
suma = -suma;
}
sumaL += suma;
}
for(int j=1; j<=m; j++) {
long suma = 0;
for(int i=1; i<=n; i++) {
suma+= map[i][j];
}
if(suma<0) {
suma = -suma;
}
sumaC += suma;
}
long s1 =0;
long s2 =0;
if(sumaL>sumaC) {
for(int i=1; i<=n; i++) {
long suma = 0;
for(int j=1; j<=m; j++) {
suma+= map[i][j];
}
if(suma<0)
for(int j=1; j<=m; j++)
map[i][j] = -1* map[i][j];
}
for(int j=1; j<=m; j++) {
long suma = 0;
for(int i=1; i<=n; i++) {
suma+= map[i][j];
}
if(suma<0)
for(int i=1; i<=n; i++)
map[i][j] *=-1;
}
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
s1+=map[i][j];
} else {
for(int j=1; j<=m; j++) {
long suma = 0;
for(int i=1; i<=n; i++) {
suma+= map[i][j];
}
if(suma<0)
for(int i=1; i<=n; i++)
map[i][j] *=-1;
}
for(int i=1; i<=n; i++) {
long suma = 0;
for(int j=1; j<=m; j++) {
suma+= map[i][j];
}
if(suma<0)
for(int j=1; j<=m; j++)
map[i][j] = -1* map[i][j];
}
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
s2+=map[i][j];
}
ofstream g("flip.out");
//g<<sumaL<<" "<<sumaC<<endl;
g<<(s1<s2?s2:s1);
g.close();
return 0;
}