Cod sursa(job #2191884)

Utilizator Mr.IonutMuntean Ionut Mr.Ionut Data 3 aprilie 2018 23:26:51
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.58 kb
#include <fstream>

using namespace std;

int mat[16][16];
int scol[16];

int main()
{
    int n,m,i,j,sl=0,sc=0,iC=0,jC=0,minn=1000000;



    ifstream fin("flip.in");
    fin>>n>>m;

    for(i=0;i<n;i++)
    {   sl=0;
        for(j=0;j<m;j++)
        {
            fin>>mat[i][j];
            sl=sl+mat[i][j];
            scol[j]=scol[j]+mat[i][j];          ///CAUT SUMA MINIMA PE LINII, IMPLICIT LINIA DORITA PENTRU COMUTAT +
        }                               ///RETIN INTR UN VECTOR SUMELE PE COLOANE
        if(sl<minn)
        {
            minn=sl;
            iC=i;
        }
    }
    /*for(j=0;j<m;j++)
    {
        sc=0;
        for(i=0;i<n;i++)
        {
            sc=sc+mat[i][j];
        }
        if(sc<minn)
        {
            minn=sc;
            jC=j;
        }
    }*/
    ofstream fout("flip.out");
    /*for(i=0;i<m;i++)
        {fout<<scol[i]<<" ";}
    fout<<endl;*/

    minn=1000000;
    for(i=0;i<m;i++)
        if(scol[i]<=minn)
        {
            minn=scol[i]; //fout<<"minn="<<minn<<" ";
            jC=i;
        }
    //fout<<endl;
    //fout<<scol[i]<<" ";

    /*int dim;
    if(n>m) dim=n;
    else dim=m;
*/
    for(i=0;i<n;i++)
        mat[i][jC]=mat[i][jC]*(-1);

    mat[iC][jC]=mat[iC][jC]*(-1);

    for(j=0;j<m;j++)
        mat[iC][j]=mat[iC][j]*(-1);

    /*if(mat[iC][jC]<0)*/ ///mat[iC][jC]=mat[iC][jC]*(-1);


    int Smax=0;
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            Smax=Smax+mat[i][j];

    fout<<Smax;
    fin.close();
    fout.close();
    return 0;
}