Pagini recente » Cod sursa (job #3175044) | Cod sursa (job #3124791) | Cod sursa (job #6593) | Cod sursa (job #1387) | Cod sursa (job #2810191)
#include <iostream>
#include <fstream>
using namespace std;
long long n,k,x,y;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
void afla(long long k, long long x, long long y, long long val){
/**
1 2 devine 1 4
3 4 2 3
**/
if(k != 1){
int l = 1<<k;
l /= 2;
if(x <= l && y > l){
/// cadranul 4
val += 3*l*l;
y -= l;
}else if(x > l && y <= l){
/// cadranul 2
val += l*l;
x -= l;
}else if(x > l && y > l){
/// cadranul 3
val += 2*l*l;
y -= l;
x -= l;
}
afla(k-1, x, y, val);
}else{
fout << val << "\n";
}
}
int main()
{
fin >> k >> x >> y;
if(k == x && k == 1 && y == x){
fout << 0;
return 0;
}
afla(k, x, y, 1);
return 0;
}