Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
417
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.35 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class LastStop {
  4.     public static void main(String[] args) {
  5.         Scanner scanner = new Scanner(System.in);
  6.  
  7.         String[] input = scanner.nextLine().split(" ");
  8.         List<Integer> paintingsList = new ArrayList<>();
  9.  
  10.         for (int i = 0; i < input.length ; i++) {
  11.             paintingsList.add(Integer.parseInt(input[i]));
  12.  
  13.         }
  14.  
  15.         String instruction = scanner.next();
  16.  
  17.         while (!instruction.equals("END")){
  18.             switch (instruction){
  19.                 case "Change": {
  20.                     int paintingNum = scanner.nextInt();
  21.                     int changedNum = scanner.nextInt();
  22.                     change(paintingsList, paintingNum, changedNum);
  23.                     break;
  24.                 }
  25.                 case "Hide": {
  26.                     int paintingNum = scanner.nextInt();
  27.                     hide(paintingsList, paintingNum);
  28.                     break;
  29.                 }
  30.                 case "Switch": {
  31.                     int paintingNum = scanner.nextInt();
  32.                     int paintingNum2 = scanner.nextInt();
  33.                     switchPaintings(paintingsList, paintingNum, paintingNum2);
  34.                     break;
  35.                 }
  36.                 case "Insert": {
  37.                     int indexToPlace = scanner.nextInt();
  38.                     int paintingNum = scanner.nextInt();
  39.                     insert(paintingsList, indexToPlace, paintingNum);
  40.                     break;
  41.                 }
  42.                 case "Reverse": {
  43.                     reverse(paintingsList);
  44.                     break;
  45.                 }
  46.             }
  47.  
  48.  
  49.             instruction = scanner.next();
  50.         }
  51.  
  52.  
  53.         for (int i = 0; i < paintingsList.size(); i++) {
  54.             System.out.print(paintingsList.get(i)+ " ");
  55.         }
  56.     }
  57.  
  58.     private static void reverse(List<Integer> paintingsList){
  59.         Collections.reverse(paintingsList);
  60.     }
  61.  
  62.     private static void insert(List<Integer> paintingsList, int indexToPlace, int paintingNum) {
  63.  
  64.             if (indexToPlace + 1 < paintingsList.size()){
  65.                 int indexOfPaintingNumber = paintingsList.indexOf(paintingNum);
  66.                 paintingsList.add(indexToPlace + 1, paintingNum);
  67.             }
  68.     }
  69.  
  70.     private static void switchPaintings(List<Integer> paintingsList, int paintingNum, int paintingNum2) {
  71.         if (paintingsList.contains(paintingNum) && paintingsList.contains(paintingNum2)){
  72.             int indexNum1 = paintingsList.indexOf(paintingNum);
  73.             int indexNum2 = paintingsList.indexOf(paintingNum2);
  74.             int num1Value = paintingsList.get(indexNum1);
  75.             int num2Value = paintingsList.get(indexNum2);
  76.  
  77.             paintingsList.set(indexNum1, num2Value);
  78.             paintingsList.set(indexNum2, num1Value);
  79.  
  80.         }
  81.     }
  82.  
  83.     private static void hide(List<Integer> paintingsList, int paintingNum) {
  84.         while (paintingsList.contains(paintingNum)){
  85.             int index = paintingsList.indexOf(paintingNum);
  86.             paintingsList.remove(index);
  87.  
  88.         }
  89.     }
  90.  
  91.     private static void change(List<Integer> paintingsList, int paintingNum, int changedNum) {
  92.         while (paintingsList.contains(paintingNum)){
  93.             int index = paintingsList.indexOf(paintingNum);
  94.             paintingsList.set(index, changedNum);
  95.         }
  96.     }
  97.  
  98.  
  99.  
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement