Cod sursa(job #783814)
Utilizator | Data | 4 septembrie 2012 10:10:43 | |
---|---|---|---|
Problema | Fractal | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <fstream>
using namespace std;
ifstream f("fractal.in");
ofstream g("fractal.out");
int k,x,y;
int fractal(int k,int x,int y)
{int t,p;
t=1<<(k-1);
p=t*t;
if(k==0)
return 0;
if(x<=t&&y<=t)
return fractal(k-1,y,x);
if(x<=t&&y>t)
return p+fractal(k-1,x,y-t);
if(x>t&&y>t)
return 2*p+fractal(k-1,x-t,y-t);
if(x>t&&y<=t)
return 3*p+fractal(k-1,t-y+1,2*t-x+1);
}
int main()
{f>>k>>x>>y;
g<<fractal(k,x,y);
return 0;
}