Cod sursa(job #465503)
Utilizator | mihai995 mihai995 | Data | 24 iunie 2010 15:03:23 |
---|---|---|---|
Problema | Fractal | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <fstream>
using namespace std;
ifstream in("fractal.in");
ofstream out("fractal.out");
int fractal(int k,int x,int y)
{
if (!k)
return 0;
int cmp=1<<k-1;
if (x<=cmp)
{
if (y<=cmp)
return fractal(k-1,y,x);
return cmp*cmp+fractal(k-1,x,y-cmp);
}
x-=cmp;
if (y<=cmp)
return 3*cmp*cmp+fractal(k-1,cmp-y+1,cmp-x+1);
return 2*cmp*cmp+fractal(k-1,x,y-cmp);
}
int main()
{
int k,x,y;
in>>k>>x>>y;
out<<fractal(k,x,y)<<'\n';
return 0;
}