Cod sursa(job #995235)

Utilizator mestMarius Isvan mest Data 8 septembrie 2013 11:58:12
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <fstream>

using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n,m,a[17][17],i,j,sw,sw2;

void citire()
{
    f>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            f>>a[i][j];
    f.close();
}

void inversare_coloana()
{
    int s=0,sc=0;

    for(j=1;j<=m;j++)
    {
        s=0;
        for(i=1;i<=n;i++)
            s=s+a[i][j];
        if(s<0) {sc=j;sw2=1;}
    }
    if(sw2==1)
    {
        for(j=1;j<=m;j++)
        {
            for(i=1;i<=n;i++)
                if(j==sc)
                    a[i][j]=a[i][j]*(-1);
        }
    }
}

void inversare_linie()
{
    int s=0,sl=0;

    for(i=1;i<=n;i++)
    {
        s=0;
        for(j=1;j<=m;j++)
            s=s+a[i][j];
        if(s<0) {sl=i; sw=1;}
    }
    if(sw==1)
    {
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=m;j++)
                if(i==sl)
                    a[i][j]=a[i][j]*(-1);
        }
    }
}

void suma()
{
    int s=0;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            s=s+a[i][j];
    g<<s;
}
int main()
{
    citire();
    inversare_coloana();
    inversare_linie();
    suma();

    g.close();
    return 0;
}