#P10734. [NOISG2019 Prelim] Experimental Charges

[NOISG2019 Prelim] Experimental Charges

题目背景

翻译自 NOISG2019 Prelim C.Experimental Charges

题目描述

现有 NN 个带电粒子,带正电子的粒子会和带负电子的粒子相互吸引,而带同一种电子的粒子会相互排斥。

QQ 次操作,每次操作表示为 Ti,Ai,BiT_i,A_i,B_i,可根据 opop 的不同分为三种类型:

  • A 操作代表 Ai,BiA_i,B_i 互相吸引。
  • R 操作代表 Ai,BiA_i,B_i 互相排斥。
  • Q 操作询问按照目前已知的信息,如果 Ai,BiA_i,B_i 放在一起,会发生什么。

对于每个 Q 操作,如果互相吸引,输出 A;如果互相排斥,输出 R;如果无法确定,输出 ?

保证至少有一种可能使得所有操作不冲突。

输入格式

第一行两个整数 N,QN,Q

接下来的 QQ 行,每行一个字符 TiT_i 与两个整数 Ai,BiA_i,B_i,表示一种操作。

输出格式

若干行,每行表示一次 Q 操作的回答。

2 3
Q 1 2
R 1 2
Q 1 2
?
R
4 5
R 1 2
A 2 3
A 1 4
Q 2 4
Q 1 3
A
A

提示

【样例 #1 解释】

对于第一次询问,并不能确定 1,21,2 之间的关系,输出 ?

对于第二次询问,可以确定 1,21,2 相斥,输出 R

【数据范围】

Subtask\text{Subtask} 分值 N,QN,Q Ti,Ai,BiT_i,A_i,B_i
00 77 N=2,Q10N=2,Q\leq 10
11 1111 Ai=1A_i=1Bi=1B_i=1
22 1414 TiT_i 仅可能为 RQ
33 1212 所有关系给出后才有查询操作
44 2525 1N,Q1031\leq N,Q \leq 10^3
55 3131

对于 100%100\% 的数据:

  • 1N,Q1051 \leq N,Q \leq 10^5
  • 1AiBiN1 \leq A_i \neq B_i \leq N
  • TiT_i 仅可能为 ARQ