CF1981B Turtle and an Infinite Sequence
题目描述
有一个无限长度的数列 $a_0, a_1, a_2, \ldots$。最初,对于每个非负整数 $i$,都有 $a_i = i$。
每过一秒,数列中的每个元素都会同时发生变化。对于每个正整数 $i$,$a_i$ 会变为 $a_{i-1} \mid a_i \mid a_{i+1}$。$a_0$ 会变为 $a_0 \mid a_1$。这里,$|$ 表示[按位或运算](https://en.wikipedia.org/wiki/Bitwise_operation#OR)。
Turtle 需要你帮忙计算 $m$ 秒后 $a_n$ 的值。特别地,如果 $m = 0$,则需要输出 $a_n$ 的初始值。他已经厌倦了手动计算这么多值,请你帮帮他!
输入格式
每个测试点包含多组测试数据。第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试数据的组数。
每组测试数据的第一行包含两个整数 $n, m$($0 \le n, m \le 10^9$)。
输出格式
对于每组测试数据,输出一个整数,表示经过 $m$ 秒后 $a_n$ 的值。
说明/提示
经过 $1$ 秒后,$[a_0, a_1, a_2, a_3, a_4, a_5]$ 变为 $[1, 3, 3, 7, 7, 7]$。
经过 $2$ 秒后,$[a_0, a_1, a_2, a_3, a_4, a_5]$ 变为 $[3, 3, 7, 7, 7, 7]$。
由 ChatGPT 4.1 翻译