P15837 [蓝桥杯第一届国际赛] 希尔伯特曲线
题目描述
希尔伯特曲线是一条递归定义的曲线,$n$ 阶希尔伯特曲线定义在一个 $2^n \times 2^n$ 的方格内。其中一阶曲线如下:
:::align{center}

:::
二阶曲线如下:
:::align{center}

:::
三阶曲线如下:
:::align{center}

:::
$n$ 阶希尔伯特曲线可以看成是从左下角出发,经过了所有的方格后再右下角结束的曲线。
我们规定左下角方格的坐标为 $(0,0)$,右下角方格的坐标为 $(2^n - 1, 0)$,则可以依次写出曲线经过的方格的坐标。
例如一阶希尔伯特曲线依次经过的方格为:$(0,0), (0,1), (1,1), (1,0)$。二阶希尔伯特曲线依次经过的方格为:$(0,0), (1,0), (1,1), (0,1), (0,2), (0,3), (1,3), (1,2), (2,2), (2,3), (3,3), (3,2), (3,1), (2,1), (2,0), (3,0)$。
给定 $n, p$,请问 $n$ 阶希尔伯特曲线经过的第 $p$ 个点的坐标是多少。
输入格式
输入一行包含两个整数 $n, p$。
输出格式
输出一行包含两个整数,用一个空格分隔,表示所求的坐标。
说明/提示
### 评测用例规模与约定
对于 $30\%$ 的评测用例,$1 \le n \le 10$,$1 \le p \le 10^4$;
对于 $50\%$ 的评测用例,$1 \le n \le 30$,$1 \le p \le 10^6$;
对于所有评测用例,$1 \le n \le 100$,$1 \le p \le 10^{18}$。