Cod sursa(job #2542465)

Utilizator AndreiM123Maces Andrei AndreiM123 Data 10 februarie 2020 00:39:20
Problema Jocul Flip Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.44 kb
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;

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

long int a[20][20];

int N , M;

void read_matrix()
{
    fin >> N >> M;
    for(int i = 1 ; i <= N ; i++)
        for(int j = 1 ; j <= M ; j++)
            fin >> a[i][j];
}

int sum()
{
    int s = 0;
    for(int i = 1 ; i <= N ; i++)
        for(int j = 1 ; j <= M ; j++)
            s+=a[i][j];
    return s;
}

void Flip()
{
    int t = 1;
    while(t)
    {
            t = 0;
        for(int i = 1 ; i <= N ; i++)
        {
            int s1 = 0 , s2 = 0;

            for(int j = 1 ; j <= M ; j++)
                s1+=a[i][j];

            for(int j = 1 ; j <= M ; j++)
                s2+=a[i][j] * -1;

            if(s2 > s1)
            {
                t = 1;
                for(int j = 1 ; j <= M ; j++)
                    a[i][j]*=-1;
            }
        }

        for(int j = 1 ; j <= M ; j++)
        {
            int s1 = 0 , s2 = 0;
            for(int i = 1 ; i <= N ; i++)
                s1+=a[i][j];

            for(int i = 1 ; i <= N ; i++)
                s2+=a[i][j]*-1;

            if(s2 > s1)
            {
                t = 1;
                for(int i = 1 ; i <= N ; i++)
                    a[i][j]*=-1;
            }
        }
    }

}

int main()
{
    read_matrix();
    Flip();
    fout << sum();
    return 0;
}