Cod sursa(job #3137702)

Utilizator SSKMFSS KMF SSKMF Data 14 iunie 2023 16:37:59
Problema Fractal Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
using namespace std;

ifstream cin ("fractal.in");
ofstream cout ("fractal.out");

int Pasi (const int linie , const int coloana , int lungime)
{
    if (lungime > 1)
    {
        lungime >>= 1;

        if (linie <= lungime && coloana <= lungime)
            return Pasi(linie , coloana , lungime);

        if (coloana <= lungime)
            return Pasi(linie - lungime , coloana , lungime) + lungime * lungime;

        if (linie <= lungime)
            return Pasi(linie , coloana - lungime , lungime) + 3 * lungime * lungime;

        return Pasi(linie - lungime , coloana - lungime , lungime) + 2 * lungime * lungime;;
    }

    return 0;
}

int main ()
{
    int ordin , linie , coloana;
    cin >> ordin >> linie >> coloana;
    cout << Pasi(linie , coloana , (1 << ordin));
    cout.close(); cin.close();
    return 0;
}