Cod sursa(job #2389031)

Utilizator ducadianaDuca Diana ducadiana Data 26 martie 2019 19:20:39
Problema Jocul Flip Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.33 kb
//
//  main.cpp
//  flip-infoarena
//
//  Created by Duca Diana on 26/03/2019.
//  Copyright © 2019 Duca Diana. All rights reserved.
//

#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int main() {
    int n,m,i,j,sp,sn,p,s=0,k;
    cout<<"numarul de linii: "; fin>>n;
    cout<<"numarul de coloane: "; fin>>m;
    int a[n+1][m+1];
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            fin>>a[i][j];
    for(k=1;k<=n*m;k++)
    {
        for(j=1;j<=m;j++)
    {
        sn=0;
        sp=0;
        for(i=1;i<=n;i++)
            if(a[i][j]<0)
                sn+=abs(a[i][j]);
            else sp+=a[i][j];
        if(sn>=sp)
        {
            for(p=1;p<=n;p++)
                if(a[p][j]<0)
                    a[p][j]=abs(a[p][j]);
                else a[p][j]-=(2*a[p][j]);
        }
    }
    for(i=1;i<=n;i++)
    {
        sn=0;
        sp=0;
        for(j=1;j<=m;j++)
            if(a[i][j]<0)
                sn+=abs(a[i][j]);
            else sp+=a[i][j];
        if(sn>=sp)
        {
            for(p=1;p<=m;p++)
                if(a[i][p]<0)
                    a[i][p]=abs(a[i][p]);
                else a[i][p]-=(2*a[i][p]);
        }
        
    }
    }
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            s+=a[i][j];
    fout<<s;

    return 0;
}