Cod sursa(job #997579)

Utilizator romircea2010FMI Trifan Mircea Mihai romircea2010 Data 14 septembrie 2013 16:05:59
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
#define KMax 16

using namespace std;

inline int fractal (int k, int x, int y)
{
    if (k == 0)
        return 0;
    int mij = (1<<(k-1)), sz = 1<<(2*k-2);
    if (x<=mij) /// cadranele 1, 4
        if (y<=mij) /// 1
            return fractal (k-1, y, x);
        else /// 4
            return 3*sz + fractal (k-1, 2*mij-y+1, mij-x+1);
    else /// cadranele 2, 3
        if (y<=mij) /// 2
            return sz + fractal(k-1, x-mij, y);
        else ///3
            return 2*sz + fractal (k-1, x-mij, y-mij);
}

int main()
{
    int k, x, y;
    ifstream f ("fractal.in");
    f>>k>>x>>y;
    f.close();

    ofstream g ("fractal.out");
    g<<fractal(k, y, x)<<"\n";
    g.close();
    return 0;
}