Advertisement
Edzhevit

GrainOfSands

Dec 13th, 2018
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.23 KB | None | 0 0
  1. package OldExams;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.Arrays;
  7. import java.util.List;
  8. import java.util.stream.Collectors;
  9.  
  10. public class GraindOfSands {
  11.     public static void main(String[] args) throws IOException {
  12.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  13.  
  14.         List<Integer> numbers = Arrays
  15.                 .stream(reader.readLine().split(" ")).map(Integer::parseInt)
  16.                 .collect(Collectors.toList());
  17.  
  18.         String line = reader.readLine();
  19.  
  20.         while (!line.equals("Mort")){
  21.  
  22.             String[] tokens = line.split(" ");
  23.             String command = tokens[0];
  24.             int value = Integer.parseInt(tokens[1]);
  25.  
  26.             if (command.equals("Add")){
  27.                 numbers.add(value);
  28.             } else if (command.equals("Remove")){
  29.                 if (numbers.contains(value)){
  30.                     int index = numbers.indexOf(value);
  31.                     numbers.remove(index);
  32.                 } else if (value >= 0 && value < numbers.size()){
  33.                     numbers.remove(value);
  34.                 }
  35.             } else if (command.equals("Replace")){
  36.                 int replace = Integer.parseInt(tokens[2]);
  37.                 if (numbers.contains(value)){
  38.                     int index = numbers.indexOf(value);
  39.                     numbers.remove(index);
  40.                     numbers.add(index,replace);
  41.                 }
  42.             } else if (command.equals("Increase")){
  43.  
  44.                 if (numbers.indexOf(value) < numbers.size()){
  45.                     int increaseNum = numbers.get(numbers.size()-1);
  46.                     for (int i = 0; i < numbers.size() -1; i++) {
  47.                         numbers.add(i,numbers.get(i) + increaseNum);
  48.  
  49.                     }
  50.                 }
  51.             } else if (command.equals("Collapse")){
  52.                 for (int i = 0; i < numbers.size(); i++) {
  53.                     if (numbers.indexOf(i) < value){
  54.                         numbers.remove(value);
  55.                     }
  56.                 }
  57.             }
  58.  
  59.             line = reader.readLine();
  60.         }
  61.  
  62.         numbers.forEach(e -> System.out.print(e + " "));
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement