Pagini recente » Cod sursa (job #241867) | Cod sursa (job #2816706) | Cod sursa (job #39464) | Cod sursa (job #3285) | Cod sursa (job #2875614)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
long long x,y,aux;
int fractalcalc(long long val, int k){
if(k==0)
return 0;
long long midx,midy;
midx = midy = val;
if(x<=midx && y<=midy)
{
cout<<"bruh\n";
aux = x;
x = y;
y = aux;
if(k==1)
return 1 + fractalcalc(val/2,k-1);
else
return fractalcalc(val/2,k-1);
}
if(x<=midx && y>midy)
{
y -= val+1;
cout<< val * val<<"\n";
return val * val + fractalcalc(val/2,k-1);
}
if(x>midx && y>midy)
{
x-=val+1;
y-=val+1;
cout<< 2 * val * val<<"\n";
return 2 * val * val + fractalcalc(val/2,k-1);
}
if(x>midx && y<=midy)
{
x-=val;
aux = x;
x = val - y;
y = val - aux;
//cout<< 3 * val * val<<"\n";
return 3 * val * val + fractalcalc(val/2,k-1);
}
}
int main() {
int k;
long long lim;
fin>>k>>y>>x;
lim = pow(2,k);
fout<<fractalcalc(pow(2,k-1),k);
return 0;
}