Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.*;
- public class Main {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- ArrayList<String> itemsObtained = new ArrayList<>();
- TreeMap<String, Integer> materialAndAmount = new TreeMap<>();
- materialAndAmount.put("Doll", 0);
- materialAndAmount.put("Wooden train", 0);
- materialAndAmount.put("Teddy bear", 0);
- materialAndAmount.put("Bicycle ", 0);
- ArrayDeque<Integer> boxes = new ArrayDeque<>();
- ArrayDeque<Integer> magic = new ArrayDeque<>();
- Arrays.stream(scanner.nextLine().split(" "))
- .mapToInt(Integer::parseInt)
- .forEach(boxes::push);//така четем и добавяме в стека
- Arrays.stream(scanner.nextLine().split(" "))
- .mapToInt(Integer::parseInt)
- .forEach(magic::offer);//така четем и добавяме в опашка
- int sum = 0;
- while (boxes.size() > 0 && magic.size() > 0) {
- int box = boxes.peek();//създаваме си променливи за да можем да сравняваме елементите от двете колекции
- int magicValue = magic.peek();
- sum = box * magicValue;
- if (sum == 150) {
- String item = "Doll";
- magic.poll();
- boxes.pop();
- itemsObtained.add(item);
- if (!materialAndAmount.containsKey(item)) {
- materialAndAmount.put(item, 1);
- } else {
- materialAndAmount.put(item, materialAndAmount.get(item) + 1);
- }
- } else if (sum == 250) {
- String item = "Wooden train";
- magic.poll();
- boxes.pop();
- itemsObtained.add(item);
- if (!materialAndAmount.containsKey(item)) {
- materialAndAmount.put(item, 1);
- } else {
- materialAndAmount.put(item, materialAndAmount.get(item) + 1);
- }
- } else if (sum == 300) {
- String item = "Teddy bear";
- magic.poll();
- boxes.pop();
- itemsObtained.add(item);
- if (!materialAndAmount.containsKey(item)) {
- materialAndAmount.put(item, 1);
- } else {
- materialAndAmount.put(item, materialAndAmount.get(item) + 1);
- }
- } else if (sum == 400) {
- String item = "Bicycle";
- magic.poll();
- boxes.pop();
- itemsObtained.add(item);
- if (!materialAndAmount.containsKey(item)) {
- materialAndAmount.put(item, 1);
- } else {
- materialAndAmount.put(item, materialAndAmount.get(item) + 1);
- }
- } else if (sum < 0) {//ако е отрицателно число
- int sumIfNegative = box + magicValue;
- magic.poll();
- boxes.pop();
- boxes.push(sumIfNegative);//добавяме в materials
- } else if (sum > 0) {//else if (sum != 150 && sum > 0) да допиша за 250 300 400
- // magic.poll();
- // boxes.push(box + 15);
- magic.poll();
- int currentItem = boxes.pop();
- boxes.push(currentItem + 15);
- } else if (box == 0) {//дали да сложа тези две проверки най-отгоре?
- boxes.pop();
- } else if (magicValue == 0) {
- magic.poll();
- }
- }
- if (itemsObtained.contains("Doll") && itemsObtained.contains("Wooden train")) {
- System.out.println("The presents are crafted! Merry Christmas!");
- } else if (itemsObtained.contains("Teddy bear") && itemsObtained.contains("Bicycle")) {
- System.out.println("The presents are crafted! Merry Christmas!");
- } else {
- System.out.println("No presents this Christmas!");
- }
- if (magic.size() > 0) {
- System.out.print("Magic left: ");
- while (magic.size() > 1) {
- System.out.print(magic.poll() + ", ");
- }
- System.out.println(magic.poll());
- }
- if (boxes.size() > 0) {
- System.out.print("Materials left: ");
- while (boxes.size() > 1) {
- System.out.print(boxes.pop() + ", ");
- }
- System.out.println(boxes.pop());
- }
- for (Map.Entry<String, Integer> entry : materialAndAmount.entrySet()) {
- String itemToPrint = entry.getKey();
- int valueToPrint = entry.getValue();
- if (entry.getValue() > 0) {
- System.out.printf("%s: %d%n", entry.getKey(), entry.getValue());
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement