Ivelin_1936

Little Alchemy

Jun 7th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.91 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.ArrayDeque;
  5. import java.util.Arrays;
  6. import java.util.List;
  7. import java.util.stream.Collectors;
  8.  
  9. public class LittleAlchemy {
  10.     public static void main(String[] args) throws IOException {
  11.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  12.  
  13.         List<Integer> alchemyList =
  14.                 Arrays.stream(reader.readLine().split("\\s+"))
  15.                         .map(Integer::parseInt).collect(Collectors.toList());
  16.  
  17.         ArrayDeque<Integer> queue = new ArrayDeque<>(alchemyList);
  18.  
  19.         int goldInTheStorage = 0;
  20.  
  21.         String line;
  22.         while (!"Revision".equalsIgnoreCase(line = reader.readLine())) {
  23.             String command = line.split("\\s+")[0];
  24.  
  25.             switch (command) {
  26.                 case "Apply":
  27.                     int acidValue = Integer.parseInt(line.split("\\s+")[2]);
  28.  
  29.                     for (int index = 0; index < acidValue; index++) {
  30.                         if (queue.isEmpty()) {
  31.                             break;
  32.                         }
  33.                         int stone = queue.pop();
  34.                         stone--;
  35.                         if (stone <= 0) {
  36.                             goldInTheStorage++;
  37.                         } else {
  38.                             queue.addLast(stone);
  39.                         }
  40.                     }
  41.                     break;
  42.                 case "Air":
  43.                     int label = Integer.parseInt(line.split("\\s+")[2]);
  44.                     if (goldInTheStorage > 0) {
  45.                         goldInTheStorage--;
  46.                         queue.addLast(label);
  47.                     }
  48.                     break;
  49.             }
  50.         }
  51.  
  52.  
  53.         System.out.println(queue.toString().replaceAll("[\\[,\\]]", ""));
  54.         System.out.println(goldInTheStorage);
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment