Cod sursa(job #1169646)
Utilizator | Data | 11 aprilie 2014 19:59:52 | |
---|---|---|---|
Problema | Fractal | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int k,x,y;
int fractal(int k, int x, int y)
{
if(k==1)
return 0;
k/=2;
if(x<=k&&y<=k)
return fractal(k,y,x);
else
if(x<=k)
return k*k+fractal(k,x,y-k);
else
if(y<=k)
return k*k*3+fractal(k,k-y+1,2*k-x+1);
else
return k*k*2+fractal(k,x-k,y-k);
}
int main()
{
fin>>k>>x>>y;
fout<<fractal(1<<k,x,y);
return 0;
}