Pagini recente » Cod sursa (job #2175999) | Cod sursa (job #1739663) | Cod sursa (job #3214776) | Cod sursa (job #719830) | Cod sursa (job #1727053)
#include <bits/stdc++.h>
using namespace std;
int furt(int x, int y, int k) {
if (k==1) {
if (x==1 && y==1)
return 0;
if (x==2 && y==1)
return 1;
if (x==2 && y==2)
return 2;
return 3;
}
else {
int l = 1<<k-1;
if (x<=l && y<=l)
return furt(y, x, k-1);
if (x > l && y <= l)
return (1<<2*(k-1))+furt(x-l, y, k-1);
if (x > l && y > l)
return (1<<(2*k-1))+furt(x-l, y-l, k-1);
return (3*(1<<2*(k-1)))+furt((2*l)-y+1, l-x+1, k-1);
}
}
int main(void) {
int k, x, y;
ifstream("fractal.in")>>k>>x>>y;
ofstream("fractal.out")<<furt(y, x, k);
return 0;
}