HashMap模拟并查集
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
sc.nextLine();
String []name = sc.nextLine().split(" ");
HashMap<String ,String >hashmap = new HashMap<String,String>();
for(int i = 0;i<m;i++){
int judge = sc.nextInt();
String name1 = sc.next();
String name2 = sc.next();
if(judge==1){
String str1 = name1;
String str2 = name2;
while (true) {
if(hashmap.get(str1)!=null){
str1 = hashmap.get(str1);
}else{
break;
}
}
while (true) {
if(hashmap.get(str2)!=null){
str2 = hashmap.get(str2);
}else{
break;
}
}
if(str1.equals(str2)){
}else{
hashmap.put(str1, name2);
}
}else{
String str1 = name1;
String str2 = name2;
while (true) {
if(hashmap.get(str1)!=null){
str1 = hashmap.get(str1);
}else{
break;
}
}
while (true) {
if(hashmap.get(str2)!=null){
str2 = hashmap.get(str2);
}else{
break;
}
}
if(str1.equals(str2)){
System.out.println(1);
}else{
System.out.println(0);
}
}
}
}
}