Cod sursa(job #2216587)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 27 iunie 2018 13:58:44
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.17 kb
#include <iostream>
using namespace std;
#include<fstream>


int main ()
{
    long long s,suma=0,a[20][20];
    unsigned sw=0,n,m,i,j;
    ifstream f("flip.in");
    ofstream g("flip.out");

    f>>m>>n;

    for(j=1;j<=m;j++)
    {s=0;
        for(i=1;i<=n;i++)
            {if(sw==1)
                    a[i][j-1]=0-a[i][j-1];              // in cazul in care linia anterioara trebuie inversata o facem
                f>>a[i][j];                         // citim
                s+=a[i][j];}                        //calculam suma elementelor de pe linie odata cu citirea
            if(s<0)
            sw=1;                                   //daca e negativa le vom inversa odata cu citirea urnatoarei linii
            else
            sw=0;
    }
    if(sw==1)
        for(i=1;i<=n;i++)
        a[i][m]=0-a[i][m];
    sw=0;
    for(i=1;i<=n;i++)
        {s=0;
        for(j=1;j<=m;j++)
        {s+=a[i][j];
        if(sw==1)
            a[i-1][j]=0-a[i-1][j];                  //facem la fel pt coloane
        }
    if(s<0)
    {s=0-s;
    sw=1;}
        else
    sw=0;
    suma+=s;
        }






    g<<suma;

    return 0;

}