Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.util.stream.Collectors;
- public class classes {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- List<String> riverside = Arrays.stream(scanner.nextLine().split(" ")).collect(Collectors.toList());
- label:
- while (true) {
- String[] tokens = scanner.nextLine().split(" ");
- switch (tokens[0]) {
- case "Join":
- riverside.add(tokens[1]);
- break;
- case "Jump":
- if (Integer.parseInt(tokens[2]) >= 0 && Integer.parseInt(tokens[2]) < riverside.size()) {
- riverside.add(Integer.parseInt(tokens[2]), tokens[1]);
- }
- break;
- case "Dive":
- int index = Integer.parseInt(tokens[1]);
- if (index >= 0 && index < riverside.size()) {
- riverside.remove(index);
- }
- break;
- case "First": {
- int count = Integer.parseInt(tokens[1]);
- if (count >= riverside.size()) {
- System.out.println(String.join(" ", riverside));
- } else {
- List<String> output = new ArrayList<>();
- //possible timeOut error ;P
- for (int i = 0; i < count; i++) {
- output.add(riverside.get(i));
- }
- System.out.println(String.join(" ", output));
- }
- break;
- }
- case "Last": {
- int count = Integer.parseInt(tokens[1]);
- List<String> output = new ArrayList<>();
- for (int i = Math.max(0, riverside.size() - count); i < riverside.size(); i++) {
- output.add(riverside.get(i));
- }
- System.out.println(String.join(" ", output));
- break;
- }
- case "Print":
- if (tokens[1].equals("Reversed")) {
- Collections.reverse(riverside);
- System.out.println("Frogs: " + String.join(" ", riverside));
- break label;
- } else if (tokens[1].equals("Normal")){
- System.out.println("Frogs: " + String.join(" ", riverside));
- break label;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement