Задача №112508. Колода карт
Напишите программу, которая моделирует колоду игральных карт. Сначала колода пуста. Затем выполняются команды, записанные в файле input.txt . Всего используется четыре команды:
+<карта> – добавить карту на верх колоды
^ – снять верхнюю карту колоды
#<карта> – добавить карту на дно колоды
/ – удалить нижнюю карту колоды
Требуется определить, какие карты останутся в колоде после выполнения всех команд. Если во время работы произошла ошибка (удаляется карта из пустой колоды или добавляется карта, которая уже есть в колоде), нужно вывести слово 'ERROR'.
Входные строки файла input.txt содержат команды для управления колодой, по одной в каждой строка. Добавляемая карта обозначается кодом, состоящим из масти и ранга карты:
<масть><ранг>
Масть – это одна буква из следующего набора: 'C' (трефы, Clubs ), 'S' (пики, Spades ), 'H' (червы, Hearts ) и 'D' (бубны, Diamonds ).
Ранг карты тоже обозначается одним знаком:
A – туз ( Ace )
2-9 – карты ранга от 2 до 9 обозначаются цифрой
T – десятка ( ten )
J – валет ( Jack )
Q – дама ( Queen )
K – король ( King )
Программа должна вывести в файл output.txt коды всех карт, содержащихся в колоде, в одну строчку через пробел, начиная с верхней карты. Если произошла ошибка, нужно вывести слово 'ERROR'. Если колода пуста, нужно вывести слово 'EMPTY'.
+CA +SJ +H8 ^ #HK /
SJ CA
+CA +SJ +H8 ^ #HK / ^ /
EMPTY