Cod sursa(job #2764103)

Utilizator sandu__1337Dahnovici Sandu sandu__1337 Data 19 iulie 2021 15:17:38
Problema Jocul Flip Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int t[100][100] , n , m;
bool change()
{
    bool changed = false;
    int row_sum = 0 , column_sum = 0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            row_sum+= t[i][j];
        }
        if (row_sum < 0) {
            for(int j=0;j<m;j++)
                t[i][j] *= -1;
            changed = true;
        }
        row_sum = 0;
    }
    for(int j=0;j<m;j++)
    {
        for(int i=0;i<n;i++)
        {
            column_sum+= t[i][j];
        }
        if (column_sum < 0) {
            for(int i=0;i<n;i++)
                t[i][j] *= -1;
            changed = true;
        }
        column_sum = 0;
    }
    return changed;
}
int main()
{
    fin>>n>>m;
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            fin>>t[i][j];
    while(change()) {
        change();
    }
    int sum =0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            sum+= t[i][j];
        }
    }
    fout<<sum;
}