Cod sursa(job #604244)

Utilizator darrenRares Buhai darren Data 21 iulie 2011 12:29:34
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>

using namespace std;

int K, x, y;

int step(int N, int i, int j)
{
    if (N == 1) return 0;
    if (i <= N / 2 && j <= N / 2) return step(N / 2, j, i);
    if (i > N / 2 && j <= N / 2)
        return N * N / 4 + step(N / 2, i - N / 2, j);
    if (i > N / 2 && j > N / 2)
        return 2 * N * N / 4 + step(N / 2, i - N / 2, j - N / 2);
    if (i <= N / 2 && j > N / 2)
        return 3 * N * N / 4 + step(N / 2, N / 2 - (j - N / 2) + 1, N / 2 - i + 1);
}

int main()
{
    ifstream fin("fractal.in");
    ofstream fout("fractal.out");

    fin >> K >> y >> x;
    fout << step(1 << K, x, y);

    fin.close();
    fout.close();
}