Cod sursa(job #2067644)

Utilizator haruuLucian haruu Data 16 noiembrie 2017 17:58:03
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.38 kb
#include <iostream>
#include <fstream>

std::ifstream is("flip.in");
std::ofstream os("flip.out");

int M, N;
int a[100][100];
int tab_sum = 0;
int poz_column = 0, rev_column = 0, poz_line = 0, rev_line = 0;

int main() {
    //std::cin >> N >> M;
    is >> N >> M;
    for(int i = 1; i <= N; ++i)
        for (int j = 1; j <= M; ++j)
            //std::cin >> a[i][j];
            is >> a[i][j];
    for(int j = 1; j <= M; ++j){
        for(int i = 1; i <= N; ++i) {
            poz_column += a[i][j];
            rev_column += (-1) * a[i][j];
        }
        if(poz_column >= rev_column)
            tab_sum += poz_column;
        else {
            tab_sum += rev_column;
            //std::cout << "Coloana " << j << " a fost schimbata!" << '\n';
            /*for(int i = 1; i <= N; ++i)
                a[i][j] = (-1) * a[i][j];*/
        }
        poz_column = 0;
        rev_column = 0;
    }

    for(int i = 1; i <= N; ++i) {
        for(int j = 1; j <= M; ++j) {
            poz_line += a[i][j];
            rev_line += (-1) * a[i][j];
        }
        if(rev_line > poz_line) {
            tab_sum -= poz_line;
            tab_sum += rev_line;
            //std::cout << "Linia " << i << " a fost schimbata!" << '\n';
            }
        poz_line = 0;
        rev_line = 0;
    }

    //std::cout << tab_sum << '\n';
    os << tab_sum << '\n';
    is.close();
    os.close();
    return 0;
}