AT_abc261_e [ABC261E] Many Operations
题目描述
有一个变量 X,以及 N 种可以改变 X 值的操作。第 i 个操作由整数对 (Ti,Ai) 表示,含义如下:
- 当 Ti=1 时,将 X 的值替换为 X and Ai。
- 当 Ti=2 时,将 X 的值替换为 X or Ai。
- 当 Ti=3 时,将 X 的值替换为 X xor Ai。
请从变量 X 被初始化为值 C 的状态开始,依次执行以下操作:
- 执行操作 1,输出操作后的 X 的值。
- 接着,依次执行操作 1,2,输出操作后的 X 的值。
- 接着,依次执行操作 1,2,3,输出操作后的 X 的值。
- ⋮
- 接着,依次执行操作 1,2,…,N,输出操作后的 X 的值。
and、or、xor 的定义如下:对于非负整数 A,B,
- A and B 的二进制表示中,第 2k 位(k≥0)为 A,B 的二进制表示中第 2k 位都为 1 时为 1,否则为 0。
- A or B 的二进制表示中,第 2k 位(k≥0)为 A,B 的二进制表示中第 2k 位至少有一个为 1 时为 1,否则为 0。
- A xor B 的二进制表示中,第 2k 位(k≥0)为 A,B 的二进制表示中第 2k 位恰好有一个为 1 时为 1,否则为 0。
例如,3 and 5=1,3 or 5=7,3 xor 5=6。
输入格式
输入按以下格式从标准输入读入。
N C
T1 A1
T2 A2
⋮
TN AN
输出格式
请按照题目要求输出 N 行,每行一个整数。
输入输出样例 #1
输入 #1
3 10
3 3
2 5
1 12
输出 #1
9
15
12
输入输出样例 #2
输入 #2
9 12
1 1
2 2
3 3
1 4
2 5
3 6
1 7
2 8
3 9
输出 #2
0
2
1
0
5
3
3
11
2
说明/提示
数据范围
- 1≤N≤2×105
- 1≤Ti≤3
- 0≤Ai<230
- 0≤C<230
- 输入中的所有值均为整数。
样例解释 1
最初,X 的值为 10。
- 执行操作 1 后,X 的值变为 9。
- 接着再执行操作 1,X 的值变为 10,再执行操作 2,X 的值变为 15。
- 接着再执行操作 1,X 的值变为 12,再执行操作 2,X 的值变为 13,再执行操作 3,X 的值变为 12。
由 ChatGPT 4.1 翻译