Cod sursa(job #880878)

Utilizator rusuandreirobertAndrei-Robert Rusu rusuandreirobert Data 17 februarie 2013 14:29:00
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.18 kb
#include <iostream>
#include <fstream>

using namespace std;

fstream fin("flip.in", ios::in);
fstream fout("flip.out", ios::out);

int n,m,math[20][20];

void switchCol(int col) {
    for(int i = 1; i<= m;i++)
        math[col][i] *= -1;
}

void checkCol(int col) {
    int sum = 0;
    for(int i = 1; i<= n;i++)
        sum += math[col][i];

    if(sum < 0)
        switchCol(col);
}

void switchLine(int line) {
    for(int i = 1; i<= n;i++)
        math[i][line] *= -1;
}

void checkLine(int line) {
    int sum = 0;
    for(int i = 1; i<= n;i++)
        sum += math[i][line];

    if(sum < 0)
        switchLine(line);
}

void dumpMath() {
    for(int i = 1; i<= n; i++,cout<<endl)
        for(int j = 1; j<= m; j++)
            cout<<math[i][j]<<" ";
}

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

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

    for(int i = 1; i <= n;i++)
        checkLine(i);
    for(int i = 1; i <= m;i++)
        checkCol(i);

    int sum = 0;

    for(int i = 1; i<= n; i++)
        for(int j = 1; j<= m; j++)
            sum += math[i][j];

    fout<<sum;

    return 0;
}