Cod sursa(job #2827810)

Utilizator AndrewAndrooNecula Andrei AndrewAndroo Data 6 ianuarie 2022 13:54:43
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.26 kb
#include <iostream>
#include <fstream>

using namespace std;

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

void x(int a[20][20], int n, int m)
{
    int s;
    for (int i = 0; i < n; i++)
    {
        s = 0;
        for (int j = 0; j < m; j++)
            s += a[i][j];
        if (s < 0)
            for (int j = 0; j < m; j++)
            a[i][j] *= -1;
    }
}

void y(int a[20][20], int n, int m)
{
    int s;
    for (int j = 0; j < m; j++)
    {
        s = 0;
        for (int i = 0; i < n; i++)
            s += a[i][j];
        if (s < 0)
            for (int i = 0; i < n; i++)
            a[i][j] *= -1;
    }
}

int flip(int a[20][20], int n, int m)
{
    int c = 0, d = 0;

    x(a, n, m);
    y(a, n, m);

    for (int i = 0; i < n; i++)
        for (int j =0 ; j < m; j++)
            c += a[i][j];

    y(a, n, m);
    x(a, n, m);

    for (int i = 0; i < n; i++)
        for (int j =0 ; j < m; j++)
            d += a[i][j];

    if (c < d)
        return d;
    else
        return c;
}

int main()
{
    int n, m;
    int a[20][20];

    in >> n >> m;

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

    out << flip(a, n, m);

    return 0;
}