P10734 [NOISG 2019 Prelim] Experimental Charges
题目背景
翻译自 [NOISG2019 Prelim C.Experimental Charges](https://github.com/noisg/sg_noi_archive/blob/master/2019_prelim/)。
题目描述
现有 $N$ 个带电粒子,带正电子的粒子会和带负电子的粒子相互吸引,而带同一种电子的粒子会相互排斥。
有 $Q$ 次操作,每次操作表示为 $T_i,A_i,B_i$,可根据 $T_i$ 的不同分为三种类型:
- `A` 操作代表 $A_i,B_i$ 互相吸引。
- `R` 操作代表 $A_i,B_i$ 互相排斥。
- `Q` 操作询问按照目前已知的信息,如果 $A_i,B_i$ 放在一起,会发生什么。
对于每个 `Q` 操作,如果互相吸引,输出 `A`;如果互相排斥,输出 `R`;如果无法确定,输出 `?`。
保证至少有一种可能使得所有操作不冲突。
输入格式
第一行两个整数 $N,Q$。
接下来的 $Q$ 行,每行一个字符 $T_i$ 与两个整数 $A_i,B_i$,表示一种操作。
输出格式
若干行,每行表示一次 `Q` 操作的回答。
说明/提示
### 【样例 #1 解释】
对于第一次询问,并不能确定 $1,2$ 之间的关系,输出 `?`。
对于第二次询问,可以确定 $1,2$ 相斥,输出 `R`。
### 【数据范围】
| $\text{Subtask}$ | 分值 | $N,Q$ | $T_i,A_i,B_i$ |
| :----------: | :----------: | :----------: | :----------: |
| $0$ | $7$ | $N=2,Q\leq 10$ | 无 |
| $1$ | $11$ | 无 | $A_i=1$ 或 $B_i=1$ |
| $2$ | $14$ | 无 | $T_i$ 仅可能为 `R` 或 `Q` |
| $3$ | $12$ | 无 | 所有关系给出后才有查询操作 |
| $4$ | $25$ | $1\leq N,Q \leq 10^3$ | 无 |
| $5$ | $31$ | 无 | 无 |
对于 $100\%$ 的数据:
- $1 \leq N,Q \leq 10^5$
- $1 \leq A_i \neq B_i \leq N$
- $T_i$ 仅可能为 `A`,`R` 或 `Q`。