Cod sursa(job #2978430)

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

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

int 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;
}

int sum_mat()
{
    int 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];

    int mini = sum_mat();

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

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

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

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

    fout << mini;

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

    return 0;
}