编程题
### 问题描述 $1,2,...,n$ 表示 $n$ 个盘子,数字大盘子就大,$n$ 个盘子放在第 $1$ 根柱子上,大盘不能放在小盘上,在第 $1$ 根柱子上的盘子是 $a[1],a[2],...,a[n]$。 $a[1]=n,a[2]=n-1,...,a[n]=1$,即 $a[1]$ 是最下面的盘子。 把 $n$ 个盘子移动到第 $3$ 根柱子,每次只能移动 $1$ 个盘子,且大盘不能放在小盘上,问第 $m$ 次移动的是哪一个盘子,从哪根柱子移到哪根柱子,例如:$n=3,m=2$,回答是:$2 1 2$,即移动的是 $2$ 号盘,从第 $1$ 根柱子移动到第 $2$ 根柱子 。 ### 输入格式 第$1$行是整数 $T$,表示有 $T(1\le T\le 200000)$ 组数据,下面有 $T$ 行 ,每行 $2$ 个整数 $n,m (1 ≤ n ≤ 63 ,1\le m≤ 2^n-1)$ 。 ### 输出格式 输出第 $m$ 次移动的盘子号数和柱子的号数。 ### 输入样例 ```txt 4 3 2 4 5 39 183251937942 63 3074457345618258570 ``` ### 输出样例 ```txt 2 1 2 1 2 1 2 2 3 2 2 3 ```
查看答案
赣ICP备20007335号-2