Cod sursa(job #2709243)

Utilizator Mar3C10canarGreg mister Mar3C10canar Data 20 februarie 2021 08:29:11
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.82 kb
#include <iostream>
#include <fstream>
using namespace std;

long n;
short m;
long long sum_f[1];



int main()
{
    sum_f[0]= 0;
    sum_f[1]= 1;
    ifstream in("flip.in");
    ofstream out("flip.out");
    in >> n >> m;
    long v[n+1][m+1];
    for(long i=1; i<=n; i++)
        for(short j=1; j<=m; j++)
            in >> v[i][j];

    for(long i=1; i<=n; i++)
    {
        int suma = 0;
        for(int j=1; j<=m; j++)
            suma+= v[i][j];
        if(suma < 0)
            for(short j=1; j<=m; j++)
                v[i][j]*=-1;
        if(i==n)
            for(short x=1; x<=m; x++)
            {
                int suma1= 0;
                for(int g=1; g<=n; g++)
                    suma1+= v[g][x];
                if(suma1 < 0)
                    for(int g=1; g<=n; g++)
                        sum_f[0] += v[g][x]*-1;
                else
                    for(int g=1; g<=n; g++)
                        sum_f[0] += v[g][x];
            }
    }
    for(short i=1; i<=m; i++)
    {
        int suma=0;
        for(int h=1; h<=n; h++)
            suma+= v[h][i];
        if(suma < 0)
            for(int h=1; h<=n; h++)
                v[h][i]*=-1;
        if(i==m)
            for(int h=1; h<=n; h++)
            {
                int suma1=0;
                for(int g=1; g<=m; g++)
                    suma1+= v[h][g];
                if(suma1 < 0)
                    for(int g=1; g<=m; g++)
                        sum_f[1] += v[h][g] * -1;
                else
                    for(int g=1; g<=m; g++)
                        sum_f[1] += v[h][g];
            }
    }

    /*
    for(int i=1;i<=n;i++){
        cout << endl;
        for(int j =1;j<=m;j++)
            cout << v[i][j] << " ";
    } */
    out << max(sum_f[0],sum_f[1]) -1 ;
    return 0;
}