Cod sursa(job #1061456)

Utilizator nosurrender99Bura Bogdan nosurrender99 Data 19 decembrie 2013 20:07:42
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <cmath>
#include <fstream>
using namespace std;

fstream f("fractal.in", ios::in), g("fractal.out", ios::out);

int fractal (int ordin, int x, int y)
{
    if (ordin == 0)
        return 0;
    else
    {
        int k2 = (int)pow(2,ordin);
        int frac = (int)pow(pow(2,ordin-1),2);
        if (x<=k2/2)
        {
            if(y<=k2/2)
            {
                return fractal(ordin -1,y,x);
            }
            else
            {
                return frac + fractal(ordin -1,x,y-(k2/2));
            }
        }
        else
        {
            if(y<=k2/2)
            {
                return 3*frac + fractal(ordin -1,k2/2+1-y,k2/2+1 -(x-k2/2));
            }
            else
            {
                return 2*frac + fractal(ordin -1,x-k2/2, y-k2/2);
            }
        }

    }
}

int main()
{
    int k, x,y;
    f>>k>>x>>y;
    g<< fractal(k,x,y);
    return 0;
}