graphlogo

Wydział Matematyki i Informatyki

Uniwersytetu Mikołaja Kopernika w Toruniu

NSI 2023/2024 - Programowanie I

[I3] Struktury danych
Języki: c cpp
Limit czasu: 5.0 s
Limit pamięci: 32 MB
Limit rozmiaru rozwiązania: 100 kB

Napisz program symulujący zachowanie określonej na wejściu listy struktur danych (stos, kolejka lub kolejka priorytetowa).

Pierwszy wiersz wejścia zawiera liczbę całkowitą 0<N≤1000 oznaczającą liczbę dostępnych struktur danych. Kolejnych N wierszy zawiera jedną z liter S, K, Q oznaczających odpowiednio: stos, kolejkę oraz kolejkę priorytetową. Następny wiersz wejścia zawiera liczbę całkowitą 0≤M≤1000000 oznaczającą liczbę operacji do wykonania na strukturach danych. Każdy z kolejnych M wierszy zawiera opis pojedynczej operacji w jednym z dwóch możliwych formatów:

  • I D E
  • I P

gdzie 0<IN oznacza numer struktury danych, na której powinna zostać wykonana operacja, D oznacza operację dodania elementu, P oznacza operację usunięcia elementu, zaś E oznacza liczbę całkowitą, która powinna zostać dodana do wybranej struktury danych. Dla każdej operacji usunięcia elementu, program powinien wydrukować na standardowym wyjściu usuwany element. Wszystkie usuwane elementy powinny być rozdzielone pojedynczym znakiem nowego wiersza.

Uwagi:

  • Wszystkie odwołania do struktur danych mieszczą się w zakresie od 1 do N
  • Dane testowe nie zawierają polecenia wykonania operacji usunięcia elementu z pustej struktury danych.
  • Zadanie powinno być rozwiązane przy pomocy programowania obiektowego z wykorzystaniem dziedziczenia i polimorfizmu.

Przykładowe wejście:
3
S
K
Q
30
1 D 1
1 D 5
1 D 2
1 D 4
1 D 3
1 P
1 P
1 P
1 P
1 P
2 D 1
2 D 5
2 D 2
2 D 4
2 D 3
2 P
2 P
2 P
2 P
2 P
3 D 1
3 D 5
3 D 2
3 D 4
3 D 3
3 P
3 P
3 P
3 P
3 P
Przykładowe wyjście:
3
4
2
5
1
1
5
2
4
3
5
4
3
2
1
Powrót
© 2009-2020 • ZawodyWeb Team
IKS - Inwestycja w Kierunki Strategiczne na Wydziale Matematyki i Informatyki UMK

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego