Cod sursa(job #1728140)

Utilizator emanuelhulutaHuluta Emanuel emanuelhuluta Data 12 iulie 2016 12:41:23
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <iostream>
#include <fstream>

using namespace std;
int a[101][101],M,N;
int sum1(int i)
{
    int j,s=0;
    for(j=1;j<=M;j++)
        s=s+a[i][j];
    return s;
}
int sum2(int j)
{
    int i,s=0;
    for(i=1;i<=N;i++)
        s=s+a[i][j];
    return s;
}
void linie(int i)
{
    int j;
    for(j=1;j<=M;j++)
        a[i][j]=(-1)*a[i][j];
}
void coloana(int j)
{
    int i;
    for(i=1;i<=N;i++)
        a[i][j]=(-1)*a[i][j];
}
int main()
{
    ifstream f("flip.in");
    ofstream g("flip.out");
    int i,j,s;
    f>>N>>M;
    for(i=1;i<=N;i++)
        for(j=1;j<=M;j++)
            f>>a[i][j];
    for(i=1;i<=N;i++)
        {
            for(j=1;j<=M;j++)
    {
        if(a[i][j]<=0)
        {
            if(sum1(i)<=0)
                {linie(i);j=1;}
            else
                if(sum2(j)<=0)
                {coloana(j);i=1;}
        }
    }
        }
    s=0;
    for(i=1;i<=N;i++)
        for(j=1;j<=M;j++)
            s=s+a[i][j];
    g<<s;
    f.close();
    g.close();
    return 0;
}