Cod sursa(job #2577345)

Utilizator FLORENTIN-GIULIANO.DUMITRUDumitru Florentin Giuliano FLORENTIN-GIULIANO.DUMITRU Data 9 martie 2020 07:23:19
Problema Jocul Flip Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 2 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("flip.in");
ofstream out("flip.out");
int main()
{
    int n, m;
    in >> n >> m;
    long a[17][17], maxi = 0;
    long s;
    for (int i = 0; i < n; i ++)
        for (int j = 0; j < m; j ++){
            in >> a[i][j];
            maxi += a[i][j];
        }
    cout << maxi << endl;
    for (int i = 0; i < n; i ++){
        s = maxi;
        for (int j = 0; j < m; j ++)
            s -= 2*a[i][j];
        if (s > maxi){
            maxi = s;
            for (int j = 0; j < m; j ++)
                a[i][j] = - a[i][j];
        }
    }
    for (int j = 0; j < m; j ++){
        s = maxi;
        for (int i = 0; i < n; i ++)
            s -= 2*a[i][j];
        if (s > maxi){
            maxi = s;
            for (int i = 0; i < n; i ++)
                a[i][j] = - a[i][j];
        }
    }
    for (int i = 0; i < n; i ++){
        s = maxi;
        for (int j = 0; j < m; j ++)
            s -= 2*a[i][j];
        if (s > maxi){
            maxi = s;
            for (int j = 0; j < m; j ++)
                a[i][j] = - a[i][j];
        }
    }
    for (int j = 0; j < m; j ++){
        s = maxi;
        for (int i = 0; i < n; i ++)
            s -= 2*a[i][j];
        if (s > maxi){
            maxi = s;
            for (int i = 0; i < n; i ++)
                a[i][j] = - a[i][j];
        }
    }
    for (int i = 0; i < n; i ++){
        s = maxi;
        for (int j = 0; j < m; j ++)
            s -= 2*a[i][j];
        if (s > maxi){
            maxi = s;
            for (int j = 0; j < m; j ++)
                a[i][j] = - a[i][j];
        }
    }
    for (int j = 0; j < m; j ++){
        s = maxi;
        for (int i = 0; i < n; i ++)
            s -= 2*a[i][j];
        if (s > maxi){
            maxi = s;
            for (int i = 0; i < n; i ++)
                a[i][j] = - a[i][j];
        }
    }
    out << maxi;
    in.close();
    out.close();
    return 0;
}