Pagini recente » Cod sursa (job #1083382) | Cod sursa (job #850900) | Cod sursa (job #3242065) | Cod sursa (job #2902108) | Cod sursa (job #2644312)
Utilizator |
Adia R. adiaioana |
Data |
24 august 2020 11:27:47 |
Problema |
Fractal |
Scor |
100 |
Compilator |
cpp-64 |
Status |
done |
Runda |
prbd2 |
Marime |
0.84 kb |
#include <fstream>
using namespace std;
ifstream cin("fractal.in");
ofstream cout("fractal.out");
int ans(int k,int x, int y)
{
int nx, ny, p2=(1<<(k-1));
if(x==1 && y==1)
return 0;
if(x==1 && y==(1<<k))
return (1<<(2*k))-1;
if(x<=p2 && y<=p2)///
return ans(k-1,y,x);
else if(x<=p2){
nx=(1<<k)-y+1;
ny=(1<<(k-1))-x+1;
return 3*(1<<(2*k-2))+ans(k-1,nx,ny);
}
else if(y<=p2){
nx=x-p2;
ny=y;
return (1<<(2*k-2))+ans(k-1,nx,ny);
}
else{
nx=x-p2;
ny=y-p2;
return 2*(1<<(2*k-2))+ans(k-1,nx,ny);
}
}
int main()
{
int k,x,y;
cin>>k>>y>>x;///nu am cuvinte pentru dezgustul interior
///exterior, fizic si pshihic pentru chestia asta
cout<<ans(k,x,y)<<'\n';
return 0;
}