Pagini recente » Cod sursa (job #1195318) | Cod sursa (job #3276053) | Cod sursa (job #985725) | Cod sursa (job #2107537) | Cod sursa (job #1481424)
#include<fstream>
using namespace std;
int k, x, y;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int rec(int k){
if(k == 0){
return 0;
}
int m = (1 << (k - 1)) * (1 << (k - 1));
int n = (1 << (k - 1));
int ii, jj;
if(n >= x){
if(n >= y){
ii = x;
jj = y;
x = jj;
y = ii;
return rec(k - 1);
}
else{
y -= n;
ii = x;
jj = y;
x = n - jj + 1;
y = n - ii + 1;
return 3 * m + rec(k - 1);
}
}
if(n >= y){
x -= n;
return m + rec( k - 1);
}
else{
x -= n;
y -=n;
return 2 * m + rec(k - 1);
}
}
int main(){
fin>> k >> y >> x;
fout<< rec(k) <<"\n";
return 0;
}