Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package MidExam.O3;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Scanner;
- import java.util.stream.Collectors;
- public class O3MovingTarget {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- List<Integer> test = Arrays.stream(scanner.nextLine().split("\\s+")).
- map(Integer::parseInt).collect(Collectors.toList());
- String command = scanner.nextLine();
- while (!command.equals("End")) {
- String type = command.split("\\s+")[0];
- int index = Integer.parseInt(command.split("\\s+")[1]);
- int number = Integer.parseInt(command.split("\\s+")[2]);
- switch (type) {
- case "Shoot":
- if (index >= 0 && index < test.size()) {
- test.set(index, test.get(index) - number);
- if (test.get(index) <= 0) {
- test.remove(index);
- }
- }
- break;
- case "Strike":
- if (index + number < test.size() && index - number >= 0) {
- int to = Math.max(0, index - number);
- int from = Math.min(test.size() - 1, index + number);
- if (from >= to) {
- test.subList(to, from + 1).clear();
- }
- } else {
- System.out.println("Strike missed!");
- }
- break;
- case "Add":
- if (index >= 0 && index < test.size()) {
- test.add(index, number);
- } else {
- System.out.println("Invalid placement!");
- }
- break;
- }
- command = scanner.nextLine();
- }
- List<String> print= new ArrayList<>();
- for (Integer integer : test) {
- String current = String.valueOf(integer);
- print.add(current);
- }
- System.out.println(String.join("|", print));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment