Cod sursa(job #2545636)

Utilizator bmarcuBogdan Marcu bmarcu Data 13 februarie 2020 12:40:51
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <bits/stdc++.h>
#define NMAX 20

using namespace std;

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

int a[NMAX][NMAX];
int ln1[NMAX], ln2[NMAX];
int col1[NMAX], col2[NMAX];


void colsum (int n, int m) {
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++) {
            col1[j] += a[i][j];
            col2[j] += (a[i][j] * -1);
        }
}

int sum (int n, int m) {
    int s = 0;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            s += a[i][j];
    return s;
}

void comp (int n, int m) {
    for (int i = 1; i <= n; i++) {
        if (ln2[i] > ln1[i])
            for (int j = 1; j <= m; j++)
                a[i][j] *= -1;
    }
    colsum(n, m);
    for (int j = 1; j <= m; j++) {
        if (col2[j] > col1[j])
            for (int i = 1; i <= n; i++)
                a[i][j] *= -1;
    }
}

int main () {
    int n, m;
    fin >> n >> m;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++) {
            fin >> a[i][j];
            ln1[i] += a[i][j];
            ln2[i] += (a[i][j] * -1);
        }
    comp(n, m);
    fout << sum(n, m);
}