Pagini recente » Cod sursa (job #849336) | Cod sursa (job #3030459) | Cod sursa (job #2988750) | Cod sursa (job #2645859) | Cod sursa (job #2987604)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int N,M,A[50][50];
int suma_compusa(){
int suma=0;
for(int i=0;i<N;i++){
int suma_rand=0;
for(int j=0;j<M;j++){
suma_rand+=A[i][j];
}
suma+=abs(suma_rand);
}
for(int j=0;j<M;j++){
int suma_coloana=0;
for(int i=0;i<N;i++){
suma_coloana+=A[i][j];
}
suma+=abs(suma_coloana);
}
return suma;
}
int main(){
fin>>N>>M;
for(int i=0;i<N;i++){
for(int j=0;j<M;j++){
fin>>A[i][j];
} }
int maximum=suma_compusa();
for(int i=0;i<N;i++){
for(int j=i+1;j<N;j++){
for(int k=0;k<M;k++){
swap(A[i][k],A[j][k]);
}
int suma=suma_compusa();
maximum=max(maximum,suma);
for(int k=0;k<M;k++){
swap(A[i][k],A[j][k]);
} } }
for(int j=0;j<M;j++){
for(int i=j+1;i<M;i++){
for(int k=0;k<N;k++){
swap(A[k][i],A[k][j]);
}
int suma=suma_compusa();
maximum=max(maximum,suma);
for(int k=0;k<N;k++){
swap(A[k][i],A[k][j]);
} } }
fout<<maximum<<endl;
fin.close();
fout.close();
return 0;
}