Cod sursa(job #1789333)

Utilizator pistvanPeter Istvan pistvan Data 26 octombrie 2016 21:20:28
Problema Fractal Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>

using namespace std;

unsigned fr(int k, int x, int y)
{
    if (k==0)
    {
        return 0;
    }
    else
    {
        unsigned hatv=1;
        for (int i=0;i<k-1;i++) hatv<<=1; //2^(k-1)
        if (x<=hatv && y<=hatv)
        {
            return fr(k-1, y, x);
        }
        else if (x<=hatv && y>hatv)
        {
            return fr(k-1, x, y-hatv+1)+hatv*hatv;
        }
        else if (x>hatv && y>hatv)
        {
            return fr(k-1, x-hatv, y-hatv)+hatv*hatv<<1;
        }
        else if (x>hatv && y<=hatv)
        {
            return fr(k-1, hatv-y+1, hatv<<1-x+1)+3*hatv*hatv;
        }
    }

}

int main()
{
    int k, x, y;
    ifstream f("fractal.in");
    f>>k>>x>>y;
    ofstream g("fractal.out");
    g<<fr(k, x, y);
}