Cod sursa(job #350129)

Utilizator strutqytruta marian cosmin strutqy Data 22 septembrie 2009 19:56:42
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.64 kb
#include<fstream>

using namespace std;

long a[17][17],n,m,i,j,slinem[17],scolm[17],x,mincol,minline,flipcol,flipline,sfinal;

int main ()
{
    ifstream fin("flip.in");
    ofstream fout("flip.out");
    
    fin>>n>>m;

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

    for(i=1;i<=n;++i)
        {
        for(j=1;j<=m;++j)
            {
                if(a[i][j]>0)
                    slinem[i]+=a[i][j];
                if(a[i][j]<0)
                    {
                        x=a[i][j];
                        x*=-1;
                        slinem[i]+=x;
                    }
            }
            if(minline==0||minline>slinem[i])
                {
                    minline=slinem[i];
                    flipline=i;
                }
        }
    for(j=1;j<=m;++j)
        {
        for(i=1;i<=n;++i)
            {
                if(a[j][i]>0)
                    scolm[j]+=a[i][j];
                if(a[j][i]<0)
                    {
                        x=a[i][j];
                        x*=-1;
                        scolm[j]+=x;
                    }
            }
            if(mincol==0||mincol>scolm[j])
                {
                    mincol=scolm[j];
                    flipcol=j;
                }
        }
        i=1;
        for(j=flipcol;i<=n;++i)
            a[i][j]*=-1;

        j=1;
        for(i=flipline;j<=m;++j)
            a[i][j]*=-1;

        for(i=1;i<=n;++i)
            for(j=1;j<=m;++j)
                sfinal+=a[i][j];
        fout<<sfinal;
        
        fin.close();
        fout.close();

    return 0;
}