Cod sursa(job #2419647)

Utilizator mihaescurazvanMihaescu Razvan mihaescurazvan Data 9 mai 2019 08:52:42
Problema Jocul Flip Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.47 kb
#include <fstream>

using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");

int a[17][17],c[17],l[17],l0[17],c0[17],i,j,n,m,slp[17],scp[17],slm[17],scm[17];
int main()
{
    f>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
    {
        f>>a[i][j];
        if(a[i][j]<0) l[i]++,slm[i]+=a[i][j];
        else slp[i]+=a[i][j];
        if(a[i][j]==0) l0[i]++;

    }
    for(i=1;i<=n;i++)
    {
        if(m-l[i]<-1)
        {
            for(j=1;j<=m;j++)
                a[i][j]=a[i][j]*-1;
        }
        if(m-l[i]==0)
            if(-slm[i]>slp[i])
            for(j=1;j<=m;j++)
                a[i][j]=a[i][j]*-1;
        if(l0[i]==m-l[i])
            if(-slm[i]>slp[i])
            for(j=1;j<=m;j++)
                a[i][j]=a[i][j]*-1;
    }
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
    {
        if(a[i][j]<0) c[i]++,scm[i]+=a[i][j];
        else scp[i]+=a[i][j];
        if(a[i][j]==0) c0[i]++;
    }
    for(j=1;j<=m;j++)
    {
        if(n-c[i]<-1)
        {
            for(i=1;i<=n;i++)
                a[i][j]=a[i][j]*-1;
        }
        if(n-c[i]==0)
            if(-scm[i]>scp[i])
            for(i=1;i<=n;i++)
                a[i][j]=a[i][j]*-1;
        if(c0[i]==n-c[i])
            if(-scm[i]>scp[i])
            for(i=1;i<=n;j++)
                a[i][j]=a[i][j]*-1;
    }
    int k=0;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        k+=a[i][j];
    g<<k;
    g.close();
    return 0;
}