Pagini recente » Cod sursa (job #609450) | Sandbox (cutiuţa cu năsip) | Cod sursa (job #463118) | Cod sursa (job #3216371) | Cod sursa (job #2903258)
#include <fstream>
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int A[17][17];
int B[17][17];
int main(){
int n,m;
int max1=0,max2=0;
fin>>n>>m;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
fin>>A[i][j];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
B[i][j] = A[i][j];
//CASE I
for(int j=0;j<m;j++){
int sum1 = 0;
int sum2 = 0;
for(int i=0;i<n;i++){
sum1 += A[i][j];
sum2 += -A[i][j];
}
if(sum2 >= sum1)
for(int i=0;i<n;i++)
A[i][j] = -A[i][j];
}
for(int i=0;i<n;i++){
int sum1 = 0;
int sum2 = 0;
for(int j=0;j<m;j++){
sum1 += A[i][j];
sum2 += -A[i][j];
}
max1 += max(sum1,sum2);
}
//CASE II
for(int i=0;i<n;i++){
int sum1 = 0;
int sum2 = 0;
for(int j=0;j<m;j++){
sum1 += B[i][j];
sum2 += -B[i][j];
}
if(sum2 >= sum1)
for(int j=0;j<m;j++)
B[i][j] = -B[i][j];
}
for(int j=0;j<m;j++){
int sum1 = 0;
int sum2 = 0;
for(int i=0;i<n;i++){
sum1 += B[i][j];
sum2 += -B[i][j];
}
max2 += max(sum1,sum2);
}
fout<<max(max1,max2);
return 0;
}