Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.lang.reflect.Array;
- import java.util.ArrayDeque;
- import java.util.Arrays;
- import java.util.Scanner;
- import java.util.StringJoiner;
- import java.util.stream.Collectors;
- import java.util.stream.IntStream;
- public class TrojanInvasion {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int trojanWarriorsWaves = Integer.parseInt(scanner.nextLine());
- int[] platesOfTheSpartans = Arrays.stream(scanner.nextLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
- ArrayDeque<Integer> spartans = new ArrayDeque<>();
- for (int i = 0; i < platesOfTheSpartans.length; i++) {
- spartans.offer(platesOfTheSpartans[i]);
- }
- ArrayDeque<Integer> trojans = new ArrayDeque<>();
- for (int i = 1; i <= trojanWarriorsWaves; i++) {
- if (spartans.isEmpty()) {
- break;
- }
- int[] powerTrojan = Arrays.stream(scanner.nextLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
- for (int warrior : powerTrojan) {
- trojans.push(warrior);
- }
- if (i % 3 == 0) {
- int sparta = Integer.parseInt(scanner.nextLine());
- spartans.offer(sparta);
- }
- while (!trojans.isEmpty() && !spartans.isEmpty()) {
- int attacker = trojans.pop();
- int defender = spartans.poll();
- if (attacker > defender) {
- attacker -= defender;
- trojans.push(attacker);
- } else if (defender > attacker) {
- defender -= attacker;
- spartans.offerFirst(defender);
- }
- }
- }
- if (trojans.isEmpty()) {
- System.out.println("The Spartans successfully repulsed the Trojan attack.");
- System.out.printf("Plates left:%s",String.join(", ",spartans.toString()).replaceAll("[\\[\\]]",""));
- } else {
- System.out.println("The Trojans successfully destroyed the Spartan defense.");
- System.out.printf("Warriors left:%s",String.join(", ",trojans.toString()).replaceAll("[\\[\\]]",""));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement