Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Main {
- public List<Set<Integer>> L;
- int n;
- boolean isConnected;
- public Main(int n){
- //with help from Riko
- L = new LinkedList<Set<Integer>>();
- for(int i=0; i<n; i++){
- Set<Integer> S = new HashSet<Integer>();
- S.add(i);
- L.add(S);
- }
- }
- //till here
- public void join(int s, int t){
- for(Set<Integer> e : L){
- if (e.contains(s) && e.contains(t)){
- continue;
- }
- else if (e.contains(s) && !e.contains(t)){
- e.add(t);
- }
- else if (e.contains(t) && !e.contains(s)){
- e.add(s);
- }
- }
- }
- public boolean connected(int s, int t){
- isConnected = false;
- for(Set<Integer> e: L){
- if(e.contains(s) && e.contains(t)){
- isConnected = true;
- }
- }
- return isConnected;
- }
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- int n = in.nextInt();
- int m = in.nextInt();
- in.nextLine();
- Main dso = new Main(n);
- for (int i= 0; i<m; i++){
- //with help from Riko's first video.
- String[] line = in.nextLine().split(" ");
- String op = line[0];
- int s = Integer.parseInt(line[1]);
- int t = Integer.parseInt(line[2]);
- //till here
- if ("0".equals(op)) {
- if(dso.connected(s,t)){
- System.out.println(1);
- }
- else{
- System.out.println(0);
- }
- }
- else if("1".equals(op)){
- dso.join(s,t);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement