Cod sursa(job #2987604)

Utilizator erik01100010Ber Roland erik01100010 Data 2 martie 2023 16:12:12
Problema Jocul Flip Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.4 kb
#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;
}