Pagini recente » Cod sursa (job #3212878) | Cod sursa (job #176603) | Cod sursa (job #19258) | Cod sursa (job #2785298) | Cod sursa (job #2875637)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
long long x,y,aux;
int fractalcalc(int k){
if(k==0)
return 0;
long long midx,midy,val=pow(2,k-1);
midx = midy = val;
if(x<=midx && y<=midy)
{
aux = x;
x = y;
y = aux;
return fractalcalc(k-1);
}
else if(x<=midx && y>midy)
{
y -= val;
return val * val + fractalcalc(k-1);
}
else if(x>midx && y>midy)
{
x-=val;
y-=val;
return 2 * val * val + fractalcalc(k-1);
}
else if(x>midx && y<=midy)
{
x-=val;
aux = x;
x = val - y+1;
y = val - aux+1;
return 3 * val * val + fractalcalc(k-1);
} else return 0;
}
int main() {
int k;
fin>>k>>x>>y;
fout<<fractalcalc(k);
return 0;
}