SP1442 CHAIN - Strange Food Chain

题目描述

有三种动物:A、B 和 C。A 可以吃 B,B 可以吃 C,C 可以吃 A。非常有趣,对吧? 现在我们有 $n$ 个动物,编号从 $1$ 到 $n$,每一个都属于 A、B 或 C。 Mary 告诉我们 $k$ 个有关这 $n$ 个动物的信息,它们之中的每一个都属于下面这两种说法中的一个: - `1 x y`,表示 $x$ 与 $y$ 是同一种动物; - `2 x y`,表示 $x$ 吃 $y$。 当一句话满足下列三条之一时,这句话就是假话,否则就是真话。 - 当前的话与前面的某些真的话冲突,就是假话; - 当前的话中 $X$ 或 $Y$ 比 $N$ 大,就是假话; - 当前的话表示 $X$ 吃 $X$,就是假话。

输入格式

第一行包含一个数字 $t$,表示有 $t$ 组测试数据。 对于每一组测试数据,第一行包含两个整数 $n$ 和 $k$($1 \leq n \leq 5 \times 10^4,1 \leq k \leq 10^5$)。接下来有 $k$ 行,每行都形如 $d\ x\ y$($1 \leq d \leq 2,1 \leq x \leq n,1\leq y \leq n$),意义见题目描述。

输出格式

对于每一个测试数据输出一个整数,表示谎话的数量。

说明/提示

因为此题与 P2024 几乎完全一致,翻译参考了 P2024。