Cod sursa(job #2871236)

Utilizator eddy_cimpanuCimpanu Eduardo Daniel eddy_cimpanu Data 13 martie 2022 19:36:21
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <fstream>
#include <queue>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int main()
{
    int n,m,i,j;
    long long int ma[17][17],s1,s2;
    fin>>n>>m;
    queue<pair<int,int>>q;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        {
        fin>>ma[i][j];
        if(ma[i][j]<0)
        q.push(make_pair(i,j));
        }
    while(!q.empty())
    {
    i=q.front().first;
    j=q.front().second;
    s1=0;
    s2=0;
    for(int e=1;e<=m;e++)
        s1=s1+ma[i][e];
    for(int e=1;e<=n;e++)
        s2=s2+ma[e][j];
    if(s1<=s2)
    {
        if(s1<0)
            for(int e=1;e<=m;e++)
        {
            if(ma[i][e]>0)
                q.push(make_pair(i,e));
            ma[i][e]=-ma[i][e];
        }
    }
    else
    {
    if(s2<0)
        for(int e=1;e<=n;e++)
        {
        if(ma[e][j]>0)
        q.push(make_pair(e,j));
    ma[e][j]=-ma[e][j];
        }
    }
    q.pop();
    }
    s1=0;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        s1=s1+ma[i][j];

    fout<<s1;
    return 0;
}