eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Простий дек

Простий дек

Ліміт часу 2 секунди
Ліміт використання пам'яті 128 MiB

Реалізуйте структуру даних "дек". Напишіть програму, яка містить опис дека і моделює роботу дека, реалізувавши усі вказані тут методи. Програма зчитує послідовність команд і у залежності від команди виконує ту чи іншу операцію. Після виконання кожної команди програма повинна вивести один рядок. Можливі команди для програми:

push_front

Додати (покласти) у початок дека новий елемент. Програма повинна вивести ok.

push_back

Додати (покласти) у кінець дека новий елемент. Програма повинна вивести ok.

pop_front

Дістати з дека перший елемент. Програма повинна вивести його значення.

pop_back

Дістати з дека останній елемент. Програма повинна вивести його значення.

front

Взнати значення першого елементу (не видаляючи його). Програма повинна вивести його значення.

back

Взнати значення останнього клемента (не видаляючи його). Програма повинна вивести його значення.

size

Вивести кількість елементів у декі.

clear

Очистити дек (видалити з нього усі елементи) і вивести ok.

exit

Програма повинна вивести bye і завершити роботу.

Гарантується, що кількість елементів у декі у довільний момент не перевищує 100. Усі операції:

  • pop_front,

  • pop_back,

  • front,

  • back

завжди коректні.

// Java OOP
class MyDeque
{
  protected LinkedList<Integer> v;
  MyDeque(); 
  public void push_back(int x);
  public void push_front(int x);
  public int pop_back();
  public int pop_front();
  public int front();
  public int back();
  public int size();
  public void clear();
  public void exit();
}

Вхідні дані

Кожний рядок містить одну команду.

Вихідні дані

Для кожної команди вивести в окремому рядку відповідний результат.

Приклад

Вхідні дані #1
push_back 3
push_front 14
size
clear
push_front 1
back
push_back 2
front
pop_back
size
pop_front
size
exit
Вихідні дані #1
ok
ok
2
ok
ok
1
ok
1
2
1
1
0
bye