Tsuki11

Untitled

Jun 26th, 2020
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.46 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.*;
  5. import java.util.stream.Collectors;
  6.  
  7.  
  8. public class ColleagueSantaPresentFactory {
  9. public static void main(String[] args) throws IOException {
  10. BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
  11.  
  12. List<Integer> materials = Arrays.stream(bf.readLine().split("\\s+"))
  13. .mapToInt(Integer::parseInt).filter(e -> e != 0).boxed().collect(Collectors.toList());
  14.  
  15. List<Integer> magics = Arrays.stream(bf.readLine().split("\\s+"))
  16. .mapToInt(Integer::parseInt).filter(e -> e != 0).boxed().collect(Collectors.toList());
  17.  
  18.  
  19. Map<String, Integer> presents = new TreeMap<>();
  20.  
  21. while (!materials.isEmpty() && !magics.isEmpty()) {
  22. int material = materials.get(materials.size() - 1);
  23. int magic = magics.get(0);
  24. int multiplication = material * magic;
  25.  
  26. materials.remove(materials.size() - 1);
  27. magics.remove(0);
  28. if (multiplication < 0) {
  29. if (material + magic != 0) {
  30. materials.add(material + magic);
  31. }
  32. } else {
  33. switch (multiplication) {
  34. case 150:
  35. presents.putIfAbsent("Doll", 0);
  36. presents.put("Doll", presents.get("Doll") + 1);
  37. break;
  38. case 250:
  39. presents.putIfAbsent("Wooden train", 0);
  40. presents.put("Wooden train", presents.get("Wooden train") + 1);
  41. break;
  42. case 300:
  43. presents.putIfAbsent("Teddy bear", 0);
  44. presents.put("Teddy bear", presents.get("Teddy bear") + 1);
  45. break;
  46. case 400:
  47. presents.putIfAbsent("Bicycle", 0);
  48. presents.put("Bicycle", presents.get("Bicycle") + 1);
  49. break;
  50. default:
  51. materials.add(material + 15);
  52. break;
  53. }
  54. }
  55.  
  56. }
  57.  
  58. StringBuilder builder = new StringBuilder();
  59. if ((presents.containsKey("Doll") && presents.containsKey("Wooden train")) ||
  60. (presents.containsKey("Teddy bear") && presents.containsKey("Bicycle"))) {
  61. builder.append("The presents are crafted! Merry Christmas!");
  62. builder.append(System.lineSeparator());
  63. } else {
  64. builder.append("No presents this Christmas!");
  65. builder.append(System.lineSeparator());
  66. }
  67.  
  68.  
  69. System.out.print(builder.toString());
  70. builder.setLength(0);
  71.  
  72. if (materials.size() > 0) {
  73. builder.append("Materials left: ");
  74. Collections.reverse(materials);
  75. for (Integer material : materials) {
  76. builder.append(material).append(", ");
  77. }
  78. System.out.println(builder.toString().substring(0, builder.lastIndexOf(",")));
  79. }
  80.  
  81. if (magics.size() > 0) {
  82. builder.append("Magic left: ");
  83. for (Integer integer : magics) {
  84. builder.append(integer).append(", ");
  85. }
  86. System.out.println(builder.toString().substring(0, builder.lastIndexOf(",")));
  87. }
  88.  
  89. presents.forEach((key, value) -> System.out.printf("%s: %d%n", key, value));
  90.  
  91. }
  92.  
  93. // private static void appendingItems(List<Integer> materials, List<Integer> magics, StringBuilder builder) {
  94. // if (!materials.isEmpty()) {
  95. // builder.append(System.lineSeparator());
  96. // builder.append("Materials left: ");
  97. // Collections.reverse(materials);
  98. // for (Integer material : materials) {
  99. // builder.append(String.format("%d, ", material));
  100. // }
  101. // builder.delete(builder.length() - 2, builder.length());
  102. // } if (!magics.isEmpty()){
  103. // builder.append(System.lineSeparator());
  104. // builder.append("Magics left: ");
  105. // Collections.reverse(magics);
  106. // for (Integer magic : magics) {
  107. // builder.append(String.format("%d, ", magic));
  108. // }
  109. // builder.delete(builder.length() - 2, builder.length());
  110. // }
  111. // }
  112. }
Add Comment
Please, Sign In to add comment