Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class Main {
  4. public List<Set<Integer>> L;
  5. int n;
  6. boolean isConnected;
  7. public Main(int n){
  8. //with help from Riko
  9. L = new LinkedList<Set<Integer>>();
  10. for(int i=0; i<n; i++){
  11. Set<Integer> S = new HashSet<Integer>();
  12. S.add(i);
  13. L.add(S);
  14. }
  15.  
  16. }
  17. //till here
  18.  
  19. public void join(int s, int t){
  20. for(Set<Integer> e : L){
  21. if (e.contains(s) && e.contains(t)){
  22. continue;
  23. }
  24. else if (e.contains(s) && !e.contains(t)){
  25. e.add(t);
  26. }
  27. else if (e.contains(t) && !e.contains(s)){
  28. e.add(s);
  29. }
  30. }
  31. }
  32. public boolean connected(int s, int t){
  33. isConnected = false;
  34. for(Set<Integer> e: L){
  35. if(e.contains(s) && e.contains(t)){
  36. isConnected = true;
  37. }
  38. }
  39. return isConnected;
  40.  
  41. }
  42.  
  43.  
  44.  
  45. public static void main(String[] args) {
  46.  
  47. Scanner in = new Scanner(System.in);
  48. int n = in.nextInt();
  49. int m = in.nextInt();
  50. in.nextLine();
  51. Main dso = new Main(n);
  52. for (int i= 0; i<m; i++){
  53. //with help from Riko's first video.
  54. String[] line = in.nextLine().split(" ");
  55. String op = line[0];
  56. int s = Integer.parseInt(line[1]);
  57. int t = Integer.parseInt(line[2]);
  58. //till here
  59. if ("0".equals(op)) {
  60. if(dso.connected(s,t)){
  61. System.out.println(1);
  62. }
  63. else{
  64. System.out.println(0);
  65. }
  66. }
  67. else if("1".equals(op)){
  68. dso.join(s,t);
  69. }
  70.  
  71. }
  72. }
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement