Cod sursa(job #2978437)

Utilizator Adrian_MosnegutuMosnegutu Adrian - Ioan Adrian_Mosnegutu Data 13 februarie 2023 19:07:27
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin ("flip.in");
ofstream fout("flip.out");

long long n, m, arr[16][16];

void flip_lin(int lin)
{
    for (int j = 0; j < m; j ++)
        arr[lin][j] *= -1;
}

void flip_col(int col)
{
    for (int i = 0; i < n; i ++)
        arr[i][col] *= -1;
}

long long sum_mat()
{
    long long sum = 0;
    for (int i = 0; i < n; i ++)
        for (int j = 0; j < m; j ++)
            sum += arr[i][j];
    return sum;
}

int main()
{
    fin >> n >> m;

    for (int i = 0; i < n; i ++)
        for (int j = 0; j < m; j ++)
            fin >> arr[i][j];

    long long maxi = sum_mat();

    for (int i = 0; i < n; i ++)
    {
        flip_lin(i);
        long long sum = sum_mat();

        if (maxi < sum)
            maxi = sum;
        else flip_lin(i);
    }

    for (int j = 0; j < m; j ++)
    {
        flip_col(j);
        long long sum = sum_mat();

        if (maxi < sum)
            maxi = sum;
        else flip_col(j);
    }

    fout << maxi;

    fin.close();
    fout.close();

    return 0;
}