Cod sursa(job #2211128)

Utilizator ioana9753Ioana Pravai ioana9753 Data 9 iunie 2018 13:55:16
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.46 kb
#include <iostream>
#include <fstream>
using namespace std;

void flipl(int a[20][20], int i, int m)
{
    for(int j = 1; j <= m; j++)
    {
        a[i][j] = -a[i][j];
    }
}

void flipc(int a[20][20], int i, int n)
{
    for(int j = 1; j <= n; j++)
    {
        a[j][i] = -a[j][i];
    }
}

int main()
{
    int n, m, i, j, a[20][20], sl = 0, dl = 0, sc = 0, dc = 0, s = 0;
    ifstream in("flip.in");
    ofstream out("flip.out");
    in >> n >> m;
    for(i = 1; i <= n; i++)
    {
        for(j = 1; j <= m; j++)
        {
            in >> a[i][j];
        }
    }
    for(i = 1; i <= n; i++)
    {
        sl = 0;
        dl = 0;
        sc = 0;
        dc = 0;
        for(j = 1; j <= m; j++)
        {
            if(a[i][j] >= 0)
            {
                sl = sl + a[i][j];
            }
            if(a[i][j] < 0)
            {
                dl = dl + a[i][j];
            }
            if(a[j][i] >= 0)
            {
                sc = sc + a[j][i];
            }
            if(a[j][i] < 0)
            {
                dc = dc + a[j][i];
            }
        }
        dl = -dl;
        dc = -dc;
        if(dl > sl)
        {
            flipl(a, i, m);
        }
        if(dc > sc)
        {
            flipc(a, i, n);
        }
    }
    for(i = 1; i <= n; i++)
    {
        for(j = 1; j <= m; j++)
        {
            s = s + a[i][j];
        }
    }
    out << s;
    return 0;
}