Advertisement
ivanyordanov67

Untitled

Feb 22nd, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1.  
  2. import java.util.*;
  3.  
  4. public class Hospital {
  5.  
  6. public static void main(String[] args) {
  7.  
  8. Scanner scanner = new Scanner(System.in);
  9.  
  10. LinkedHashMap<String, TreeMap<Integer, LinkedList<String>>> depRooms = new LinkedHashMap<>();
  11. TreeMap<String, TreeSet<String>> docPat = new TreeMap<>();
  12. int numOfRoom = 1;
  13.  
  14. String line = scanner.nextLine();
  15.  
  16. while (!line.equals("Output")) {
  17.  
  18. String[] parts = line.split(" ");
  19. String depatrment = parts[0];
  20. String doctor = parts[1] + " " + parts[2];
  21. String patient = parts[3];
  22.  
  23. docPat.putIfAbsent(doctor, new TreeSet<>());
  24. docPat.get(doctor).add(patient);
  25.  
  26. depRooms.putIfAbsent(depatrment, new TreeMap<>());
  27. depRooms.get(depatrment).putIfAbsent(numOfRoom, new LinkedList<>());
  28.  
  29. if (depRooms.containsKey(depatrment)) {
  30. if (depRooms.get(depatrment).size() <= 20) {
  31. if (depRooms.get(depatrment).get(numOfRoom).size() <= 3) {
  32. depRooms.get(depatrment).get(numOfRoom).add(patient);
  33.  
  34. } else {
  35. numOfRoom++;
  36. depRooms.get(depatrment).get(numOfRoom).add(patient);
  37. }
  38. }
  39. }
  40. line = scanner.nextLine();
  41. }
  42.  
  43. String command = scanner.nextLine();
  44. while (!command.equals("End")) {
  45.  
  46. String[] parts = command.split(" ");
  47.  
  48. if (parts.length == 1 && depRooms.containsKey(parts[0])) {
  49. TreeMap<Integer, LinkedList<String>> curr = new TreeMap<>();
  50. curr = depRooms.get(parts[0]);
  51.  
  52.  
  53. for (LinkedList<String> value : curr.values()) {
  54. for (String s : value) {
  55. System.out.println(s);
  56. }
  57. }
  58.  
  59. } else if (parts.length != 1 && depRooms.containsKey(parts[0])) {
  60. TreeMap<Integer, LinkedList<String>> curr = new TreeMap<>();
  61.  
  62. curr = depRooms.get(parts[0]);
  63.  
  64. LinkedList<String> curr1 = new LinkedList<>();
  65. curr1 = curr.get(Integer.parseInt(parts[1]));
  66.  
  67. curr1.stream().sorted((a, b) -> a.compareTo(b)).forEach(System.out::println);
  68.  
  69. }else if( docPat.containsKey(command)) {
  70. docPat.get(command).forEach(System.out::println);
  71. }
  72.  
  73.  
  74. command = scanner.nextLine();
  75. }
  76.  
  77.  
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement