Cod sursa(job #593108)
Utilizator | Data | 1 iunie 2011 12:59:02 | |
---|---|---|---|
Problema | Fractal | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <fstream.h>
ifstream in("fractal.in");ofstream out("fractal.out");int f (int k,int x,int y){if(k==1)if(x==1)return y;else if(y==1)return 4;else return 3;k--;if(x<=(1<<k)){if(y<=(1<<k))return (1<<k)*(1<<k)+1-f(k,(1<<k)+1-y,x);return (1<<k)*(1<<k)+f(k,x,y-(1<<k));}if(y<=(1<<k))return (1<<(k+1))*(1<<(k+1))+1-f(k,y,(1<<(k+1))+1-x);return 2*(1<<k)*(1<<k)+f(k,x-(1<<k),y-(1<<k));}int main(){int k,x,y;in>>k>>x>>y;out<<f(k,x,y)-1;return 0;}