Cod sursa(job #1097684)

Utilizator strikerXBLucian Rus strikerXB Data 3 februarie 2014 20:18:24
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.5 kb
#include <fstream>
using namespace std;

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

void Interschimbare(int a[100][100], int n, int m, int& Sum);

int main()
{
    int m, n, a[100][100];
    int Sum = 0;
    is >> n >> m;
    for(int i = 0; i < n; ++i)
        for(int j = 0; j < m; ++j)
            is >> a[i][j];
    Interschimbare(a, n, m, Sum);

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

    os << Sum;

    is.close();
    os.close();
    return 0;
}

void Interschimbare(int a[100][100], int n, int m, int& Sum)
{
    int suml, sumc, suml1, sumc1, aux;
    for(int j = 0; j < m; ++j)
    {
        sumc = 0, sumc1 = 0;
        aux = 0;
        while(aux < n)
        {
            sumc = sumc + a[aux][j];
            sumc1 = sumc1 + (a[aux][j] * (-1));
            aux++;
        }
        if(sumc < sumc1)
        {
            aux = 0;
            while(aux < n)
            {
                a[aux][j] = a[aux][j] * (-1);
                aux++;
            }
        }
    }

    for(int i = 0; i < n; ++i)
    {
        suml = 0, suml1 = 0;
        aux = 0;
        for(int j = 0; j < m; ++j)
        {
            suml = suml + a[i][j];
            suml1 = suml1 + (a[i][j] * (-1));
        }
        if(suml < suml1)
        {
            aux = 0;
            while(aux < m)
            {
                a[i][aux] = a[i][aux] * (-1);
                aux++;
            }
        }
    }
}