Cod sursa(job #2446329)

Utilizator hurjui12AlexandruHurjui Alexandru-Mihai hurjui12Alexandru Data 7 august 2019 19:50:04
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.73 kb
//
//  main.cpp
//  Alex
//
//  Created by Hurjui Alexandru Mihai on 02/11/2018.
//  Copyright © 2019 Hurjui Alexandru Mihai. All rights reserved.
//

#include <fstream>
using namespace std;

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

int main()
{
    int a[17][17], n, m, smin, s;
    int minl[17], minc[17];
    fin >> n >> m;
    int i, j;
    for (i = 1; i<=n; i++)
        for (j = 1; j<=m; j++)
            fin >> a[i][j];
    do
    {
        smin = 0;
        minl[0] = 0;
        minc[0] = 0;
        for (i = 1; i<=n; i++)
        {
            s = 0;
            for (j = 1; j<=m; j++)
                s = s + a[i][j];
            if (s < smin)
            {
                smin = s;
                minl[0] = 1;
                minl[1] = i;
            }
            else if (s == smin)
            {
                minl[0]++;
                minl[minl[0]] = i;
            }
            else;
        }
        for (i = 1; i<=m; i++)
        {
            s = 0;
            for (j = 1; j<=n; j++)
                s = s + a[j][i];
            if (s < smin)
            {
                smin = s;
                minl[0] = 0;
                minc[0] = 1;
                minc[1] = i;
            }
            else if (s == smin)
            {
                minc[0]++;
                minc[minc[0]] = i;
            }
            else;
        }
        for (i = 1; i<=minl[0]; i++)
            for (j = 1; j<=m; j++)
                a[minl[i]][j] = (-1)*a[minl[i]][j];
        for (i = 1; i<=minc[0]; i++)
            for (j = 1; j<=n; j++)
                a[j][minc[i]] = (-1)*a[j][minc[i]];
    } while (smin < 0);
    s = 0;
    for (i = 1; i<=n; i++)
        for (j = 1; j<=m; j++)
            s = s + a[i][j];
    fout << s;
    return 0;
}