Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayDeque;
- import java.util.Stack;
- public class P01_LittleAlchemy {
- public static void main(String[] args) throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- ArrayDeque<Integer> stones = new ArrayDeque<>();
- Stack<Integer> storage = new Stack<>();
- String[] inputLine = reader.readLine().split("\\s+");
- for (String stone : inputLine) {
- stones.add(Integer.parseInt(stone));
- }
- while (true) {
- String input = reader.readLine();
- if ("Revision".equals(input)) {
- break;
- }
- String[] tokens = input.split("\\s+");
- String command = tokens[0] + " " + tokens[1];
- int doses = Integer.parseInt(tokens[2]);
- if ("Apply acid".equals(command) && !stones.isEmpty()) {
- for (int i = 0; i < doses; i++) {
- int currentStone = stones.remove();
- currentStone--;
- if (currentStone == 0) {
- storage.push(currentStone);
- } else {
- stones.add(currentStone);
- }
- if (stones.isEmpty()) {
- break;
- }
- }
- } else if ("Air leak".equals(command) && !storage.isEmpty()) {
- int gold = storage.pop();
- gold += doses;
- stones.add(gold);
- }
- }
- if (!stones.isEmpty()) {
- for (Integer stone : stones) {
- System.out.print(stone + " ");
- }
- }
- System.out.println(System.lineSeparator() + storage.size());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement