Pagini recente » Cod sursa (job #363780) | Cod sursa (job #12608) | Cod sursa (job #14329) | Cod sursa (job #3247649) | Cod sursa (job #2810200)
#include <iostream>
#include <fstream>
using namespace std;
long long n,k,x,y;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
/**
_ _
_| |_
| _ |
|_| |_|
**/
int afla(int k, int x, int y){
if(k == 0){
return 0;
}
int l = 1<<(k-1);
if(x <= l && y <= l){
/// cadranul 1
return afla(k-1, y, x);
}else if(x > l && y <= l){
/// cadranul 2
return (l*l)+afla(k-1, x-l, y);
}else if(x <= l && y > l){
/// cadranul 4
return (3*l*l)+afla(k-1, 2*l-y+1, l-x+1);
}else{
/// cadranul 3
return (2*l*l)+afla(k-1, x-l, y-l);
}
}
int main()
{
fin >> k >> x >> y;
if(k == x && k == 1 && y == x){
fout << 0;
return 0;
}
fout << afla(k, x, y) << "\n";
return 0;
}