Cod sursa(job #1150760)

Utilizator hopingsteamMatraguna Mihai-Alexandru hopingsteam Data 23 martie 2014 15:01:49
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.44 kb
#include    <iostream>
#include    <fstream>

using namespace std;

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

int rmin = 100000, cmin = 100000;
int rmini, cmini, ST;
int row[18], column[18];
short int map[18][18];
int N, M;

void check()
{
    int S = 0;
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < M; j++)
        {
            S += map[i][j];
        }
        row[i] = S;
        S = 0;
    }

    for(int i = 0; i < M; i++)
    {
        for(int j = 0; j < N; j++)
        {
            S += map[j][i];
        }
        column[i] = S;
        S = 0;
    }

    for(int i = 0; i < N; i++)
    {
        if(row[i] < rmin)
        {
            rmin = row[i];
            rmini = i;
        }
    }

    for(int i = 0; i < M; i++)
    {
        if(column[i] < cmin)
        {
            cmin = column[i];
            cmini = i;
        }
    }

    ST += (row[rmini] * -1 + column[cmini] * -1) * 2 - map[rmini][cmini];
    fout << ST;
}

void show()
{
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < M; j++)
            cout << map[i][j] << " ";
        cout << "\n";
    }
}

void read()
{
    fin >> N >> M;
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < M; j++)
        {
            fin >> map[i][j];
            ST += map[i][j];
        }
    }
}

int main()
{
    read();
    check();
    //show();
    return 0;
}