Cod sursa(job #1159269)

Utilizator silvatheviprersilviu catioiu silvatheviprer Data 29 martie 2014 14:25:12
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
#include <iostream>
using namespace std;

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

int k, x, y, s;

int f(int k, int x, int y)
{
    if(k == 0)
        return 0;
    int mid = (1 << (k - 1)), s = mid * mid;
    if(x <= mid && y <= mid)
        return f(k - 1, y, x);
    else if ( x > mid && y <= mid)
        return s + f(k - 1, x - mid, y);
    else if ( x > mid && y > mid)
        return 2 * s + f(k - 1, x - mid, y - mid);
    else
        return 3 * s + f(k - 1, 2 * mid - y + 1, mid - x + 1);
}

int main ()
{
   fin >> k >> x >> y;
   g << f(k, y, x);
}