AT_joisc2015_g 道路整備
题目描述
## JOISC2015 Day2T3 道路整备
给定一个$N$个点的森林,初始森林上没有边。接下来进行$Q$次操作,操作有以下两种:
$1\ u\ v$:如果当前$u\ v$不连通,则在森林上添加一条边$(u,v)$,边权为$1$;否则将森林中路径$(u,v)$上的所有边的边权赋为$0$。
$2\ u\ v$:询问此时森林上$(u,v)$对应的路径的边权和。
输入格式
第一行两个正整数$N,Q$,
接下来$Q$行每行三个正整数$type,u,v$描述一个操作。
输出格式
对于每个$2$操作输出一行表示路径边权和,如果森林上$(u,v)$不连通输出`-1`。
说明/提示
$1 \leq N \leq 10^5$
$1 \leq Q \leq 3 \times 10^5$
$type \in \{1,2\} , 1 \leq u,v \leq N , u \neq v$
### 样例
#### 样例输入1
```
3 7
1 1 2
2 2 1
2 2 3
1 2 1
2 1 2
1 2 3
2 1 3
```
#### 样例输出1
```
1
-1
0
1
```
#### 样例输入2
```
6 8
1 1 3
1 6 1
1 2 5
2 3 6
1 3 6
1 4 1
2 4 3
2 2 5
```
#### 样例输出2
```
2
1
1
```
#### 样例输入3
```
7 11
1 5 1
1 6 2
1 1 3
1 3 5
1 5 7
1 4 5
1 4 1
2 1 3
2 3 7
2 4 3
2 5 6
```
#### 样例输出3
```
0
1
0
-1
```