#ABC261E. 多次操作

多次操作

多次操作

题目描述

我们有一个变量 XXNN 种改变 XX 值的操作。操作 ii 用整数对 (Ti,Ai)(T_i,A_i) 表示,具体如下:

如果 Ti=1T_i=1,则将 XX 的值替换为 X and AiX\ {\rm and}\ A_i;

如果 Ti=2T_i=2,则将 XX 的值替换为 X or AiX\ {\rm or}\ A_i;

如果 Ti=3T_i=3,则将 XX 的值替换为 X xor AiX\ {\rm xor}\ A_i

XX 初始化为 CC,并按以下顺序执行操作:

先执行操作 11,然后输出此时的 XX 值。

接下来,按顺序执行操作 1,21, 2,然后输出 XX 的值。

接下来,按顺序执行操作 1,2,31, 2, 3,然后输出 XX 的值。

\vdots

接下来,按顺序执行操作 1,2,,N1, 2, \ldots, N,然后输出 XX 的值。

什么是 and,or,xor{\rm and}, {\rm or}, {\rm xor}?

非负整数 AABBand,or,xor{\rm and}, {\rm or}, {\rm xor} 定义如下:

A and BA\ {\rm and}\ B 写成二进制时,第 2k2^k 位(k0k \geq 0)上的数字为:如果 AABB 在该位上都为 11,则为 11,否则为 00

A or BA\ {\rm or}\ B 写成二进制时,第 2k2^k 位(k0k \geq 0)上的数字为:如果 AABB 在该位上至少有一个为 11,则为 11,否则为 00

A xor BA\ {\rm xor}\ B 写成二进制时,第 2k2^k 位(k0k \geq 0)上的数字为:如果 AABB 在该位上恰好有一个为 11,则为 11,否则为 00

例如,3 and 5=13\ {\rm and}\ 5 = 1,3 or 5=73\ {\rm or}\ 5 = 7,3 xor 5=63\ {\rm xor}\ 5 = 6

输入格式

输入按以下格式从标准输入给出:

NN CC
T1T_1 A1A_1
T2T_2 A2A_2
\vdots
TNT_N ANA_N

输出格式

按题目描述中的规定输出 NN 行。

样例

3 10
3 3
2 5
1 12
9
15
12

XX 的初始值为 1010

操作 11XX 变为 99

接下来,操作 11XX 变为 1010,然后操作 22 将其变为 1515

接下来,操作 11XX 变为 1212,然后操作 22 将其变为 1313,然后操作 33 将其变为 1212

9 12
1 1
2 2
3 3
1 4
2 5
3 6
1 7
2 8
3 9
0
2
1
0
5
3
3
11
2

数据范围

  • 1N2×1051 \le N \le 2 \times 10^5
  • 1Ti31 \le T_i \le 3
  • 0Ai<2300 \le A_i \lt 2^{30}
  • 0C<2300 \le C \lt 2^{30}
  • 输入均为整数
难度 提高
通过率
尝试 0
已通过 0
ID
2460
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签