Cod sursa(job #2610964)

Utilizator Robert011235Robert Dragota Marian Robert011235 Data 5 mai 2020 22:42:02
Problema Jocul Flip Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.42 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int a[17][17];
int sumaMaxlin(int l,int m)
{
    int s=0;
    for(int i=1; i<=m; i++)
        s=s+a[l][i];
    return s;
}
int sumaMaxcol(int c,int n)
{
    int s=0;

    for(int i=1; i<=n; i++)
        s=s+a[i][c];
    return s;
}

int sumaMax(int n,int m)
{
    int s=0,i,j;
    for(i=1; i<=n; i++)
        for( j=1; j<=m; j++)
            s=s+a[i][j];
    return s;
}
int main()
{
    int n,i,j,m,min1,min2,mini1=1,mini2=1,ind=0;
    in>>n>>m;
    for(i=1; i<=n; i++)
        for(j=1; j<=m; j++)
        {
            in>>a[i][j];
            if(a[i][j]<0)
                ind++;
        }
    if(ind==n*m)
        out<<-sumaMax(n,m);
    else
    {
        min1=sumaMaxcol(1,n);
        min2=sumaMaxlin(1,m);

        for(i=2; i<=m; i++)
            if(sumaMaxcol(i,n)<min1)
            {
                min1=sumaMaxcol(i,n);
                mini1=i;
            }
        if(-min1>min1)
            for(i=1; i<=n; i++)
                a[i][mini1]=-a[i][mini1];

        for(i=2; i<=n; i++)
            if(sumaMaxlin(i,m)<min2)
            {
                min2=sumaMaxlin(i,m);
                mini2=i;
            }
        if(-min2>min2)
            for(i=1; i<=m; i++)
                a[mini2][i]=-a[mini2][i];

        out<<sumaMax(n,m);
    }
    return 0;
}