Pagini recente » Cod sursa (job #1284466) | Cod sursa (job #457892) | Cod sursa (job #2037659) | Cod sursa (job #458466) | Cod sursa (job #2448930)
#include <fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int k,x, y;
int solve(int k, int x, int y)
{
if(k==1)
{
if(x==1&&y==1) return 0;
if(x==1&&y==2) return 1;
if(x==2&&y==2) return 2;
return 3;
}
int m=(1<<(k-1));
if(x<=m&&y<=m) return solve(k-1, y, x);
else if(x<=m&&y>m) return m*m+solve(k-1, x, y-m);
else if(x>m&&y>m) return m*m*2+solve(k-1, x-m, y-m);
else return m*m*3+solve(k-1, m-y+1,m*2-x+1);
}
int main()
{
fin>>k>>x>>y;
fout<<solve(k, x, y)<<"\n";
return 0;
}