Advertisement
ilianrusev

Trojan Invasion

Jun 22nd, 2019
101
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.company;
  2.  
  3.         import java.util.*;
  4.         import java.util.stream.Collectors;
  5.  
  6. public class Main {
  7.  
  8.     public static void main(String[] args) {
  9.  
  10.         Scanner scanner = new Scanner(System.in);
  11.  
  12.         int waves = Integer.parseInt(scanner.nextLine());
  13.         String[] inputPlates = scanner.nextLine().split(" ");
  14.  
  15.         Deque<Integer> trojanPower = new ArrayDeque<>();
  16.         Deque<Integer> spartanPlates = new ArrayDeque<>();
  17.  
  18.         for (int i = 0; i < inputPlates.length; i++) {
  19.             spartanPlates.offer(Integer.parseInt(inputPlates[i]));
  20.         }
  21.         System.out.println();
  22.         for (int i = 1; i <= waves; i++) {
  23.  
  24.             int currentTrojan;
  25.             int currentSpartan;
  26.  
  27.             String[] inputWarriors = scanner.nextLine().split(" ");
  28.             for (int j = 0; j < inputWarriors.length; j++) {
  29.                 trojanPower.push(Integer.parseInt(inputWarriors[j]));
  30.             }
  31.  
  32.             if (i % 3 == 0) {
  33.                 spartanPlates.offer(Integer.parseInt(scanner.nextLine()));
  34.             }
  35.  
  36.             while (trojanPower.size() != 0 && spartanPlates.size() != 0) {
  37.  
  38.                 currentTrojan = trojanPower.pop();
  39.                 currentSpartan = spartanPlates.poll();
  40.  
  41.                 if (currentTrojan > currentSpartan) {
  42.                     currentTrojan -= currentSpartan;
  43.                     trojanPower.push(currentTrojan);
  44.                 } else {
  45.                     currentSpartan -= currentTrojan;
  46.                     spartanPlates.push(currentSpartan);
  47.                 }
  48.             }
  49.  
  50.             if (spartanPlates.isEmpty()) {
  51.                 break;
  52.             }
  53.  
  54.         }
  55.  
  56.         if (trojanPower.isEmpty()) {
  57.             System.out.println("The Spartans successfully repulsed the Trojan attack.");
  58.             System.out.println(String.format("Plates left: %s", spartanPlates.toString().replaceAll("[\\[\\]]", "")));
  59.         } else {
  60.             System.out.println("The Trojans successfully destroyed the Spartan defense.");
  61.             System.out.println(String.format("Warriors left: %s", trojanPower.toString().replaceAll("[\\[\\]]", "")));
  62.  
  63.  
  64.         }
  65.  
  66.  
  67.     }
  68. }
Advertisement
RAW Paste Data Copied
Advertisement