Advertisement
Guest User

Untitled

a guest
Apr 20th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3. import java.text.*;
  4. import java.math.*;
  5. import java.util.regex.*;
  6.  
  7. public class Solution {
  8. public static void main(String args[] ) throws Exception {
  9. /* Enter your code here. Read input from STDIN. Print output to STDOUT */
  10. }
  11.  
  12. 'A' -> 'n' persons
  13.  
  14. (p1, p2) -> p1 and p2 are related
  15.  
  16. n = 6
  17.  
  18. 0, 1, 2, 3, 4, 5
  19.  
  20. 0,1
  21. 1,2
  22. 4,5
  23. 1,4
  24.  
  25. (0, 1 ,2, 4, 5) , (3) => number of families = 2
  26.  
  27.  
  28. ((0), (1), (2), (3), (4), (5))
  29. ((0,1,2,4,5), (3) )
  30. return list.size();
  31.  
  32. List<Set<Person>>
  33. set1 = (0,1,2) -> whether set already has the 2nd person of the pair
  34. set2 = (4,5)
  35. merge(set1,set2)
  36. delete set2
  37.  
  38.  
  39. Input -> Area , number of ppl, List of pairs of relations
  40. Ouptut -> no. of families
  41.  
  42. Pair - int p1, p2;
  43. }
  44. public int getNumOfFamily(String area, int num, List<Pair> pairs){
  45.  
  46. if(pair.size() == 0) return num;
  47.  
  48. List<HashSet<Integer>> result = new ArrayList<HashSet<Integer>>();
  49.  
  50. for(int i = 0, i< num; i++){
  51. HashSet<Integer> curSet = new HashSet<Integer>();
  52. curSet.add(i);
  53. result.add(curSet);
  54. }
  55.  
  56. HashSet<Integer> set1, set2;
  57.  
  58. for(Pair curPair: pairs){
  59. set1 = getFamily(curPair.p1, result);
  60. set2 = getFamily(curPair.p2, result);
  61. if(!set1.equals(set2)){
  62. set1.addAll(set2); // TODO addAll
  63. }
  64. result.remove(set2);
  65. }
  66. return result.size();
  67. }a
  68.  
  69. public Set<Integer> getFamily(Person p, List<HashSet<Integer>> result){
  70. for(Set<Integer> curSet: result){
  71. if(curSet.contains(p)) return curSet;
  72. }
  73. Set<Integer> output = new Set<Integer>();
  74. return output;
  75. }
  76.  
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement