Cod sursa(job #2127805)

Utilizator MogyyRaul Mogos Mogyy Data 11 februarie 2018 01:30:03
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.39 kb
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");

int n,m,a[17][17],i,j,Smax=0,S=0;

int sum();
void comut_linie (int x);
void comut_coloana (int y);

int main()
{
    fin>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            fin>>a[i][j];

    Smax=sum();

    for(i=1;i<=n;i++)
    {
        S=0;
        for(j=1;j<=m;j++)
        {
            S=0;
            comut_coloana(j);
            S=sum();
            if(S<=Smax) comut_coloana(j);
            else Smax=S;
        }
        comut_linie(i);
        S=sum();
        if(S<=Smax) comut_linie(i);
        else Smax=S;

    }


     for(i=1;i<=n;i++)
    {
        S=0;
        for(j=1;j<=m;j++)
        {
            S=0;
            comut_coloana(j);
            S=sum();
            if(S<=Smax) comut_coloana(j);
            else Smax=S;
        }
        comut_linie(i);
        S=sum();
        if(S<=Smax) comut_linie(i);
        else Smax=S;

    }

    fout<<Smax;



    fin.close();
    fout.close();
    return 0;
}
int sum()
{
    int S=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            S=S+a[i][j];

    return S;
}
void comut_linie (int x)
{
    for(int j=1;j<=m;j++)
        a[x][j]=a[x][j]*-1;
}

void comut_coloana (int y)
{
    for(int i=1;i<=n;i++)
        a[i][y]=a[i][y]*-1;


}