Cod sursa(job #3307453)

Utilizator Lex._.Lex Guiman Lex._. Data 20 august 2025 20:59:44
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>
using namespace std;

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

int divide(int x, int y, int p)
{
    if(p==0) return 0;
    int putere=(1<<(p-1)); ///lungimea laturii patratului in care este inscrisa curba de ordin p-1

    if(x<=putere && y<=putere)
    {
        return divide(y, x, p-1);
    }
    else if(x>putere && y<=putere)
    {
        return putere*putere + divide(x-putere, y, p-1);
    }
    else if(x>putere && y>putere)
    {
        return 2*putere*putere + divide(x-putere, y-putere, p-1);
    }
    else
    {
        return 3*putere*putere + divide(1 + putere*2 - y, 1 +  putere - x, p-1);
    }
}

int main()
{
    int k, x, y;
    in >> k >> y >> x;

    out << divide(x, y, k);

    return 0;
}