54 lines
1.2 KiB
Plaintext
54 lines
1.2 KiB
Plaintext
|
Słownik
|
||
|
=======
|
||
|
|
||
|
Program powinien wczytać automat skończeniestanowy (bez wag) ze
|
||
|
standardowego wejścia. Zakładamy, że automat jest deterministyczny i
|
||
|
nie zawiera cykli.
|
||
|
|
||
|
Każda ścieżka automatu etykietowana jest ciągiem symboli o
|
||
|
następującej strukturze:
|
||
|
|
||
|
<słowo wejściowe>;<opis>
|
||
|
|
||
|
np.
|
||
|
|
||
|
biały;ADJ
|
||
|
dom;N
|
||
|
piła;N
|
||
|
piła;V
|
||
|
stali;N
|
||
|
stali;V
|
||
|
stali;ADJ
|
||
|
|
||
|
Następnie należy wczytać słowa z kolejnych wierszy pliku podanego jako
|
||
|
argument. Dla każdego słowa należy wypisać wszystkie ścieżki automatu,
|
||
|
które rozpoczynają się tym słowem, a następnym symbolem jest ';'
|
||
|
(średnik), czyli np. dla słowa wejściowego 'dom' szukamy ścieżek o
|
||
|
prefiksie 'dom;'. Jeśli nie ma żadnej takiej ścieżki, to należy
|
||
|
wyprowadzić napis:
|
||
|
|
||
|
<słowo wejściowe>;OOV
|
||
|
|
||
|
Przykładowo, dla automatu ze ścieżkami, jak wyżej, i wejścia:
|
||
|
|
||
|
budynek
|
||
|
dom
|
||
|
piła
|
||
|
|
||
|
powinniśmy otrzymać:
|
||
|
|
||
|
budynek;OOV
|
||
|
dom;N
|
||
|
piła;N
|
||
|
piła;V
|
||
|
|
||
|
W sytuacji, gdy dla jednego prefiksu wejściowego otrzymujemy na wyściu
|
||
|
wiele ścieżek, powinny być one posortowane alfabetycznie.
|
||
|
|
||
|
Program nie musi sprawdzać, czy tekst wczytany ze standardowego
|
||
|
wejścia jest poprawnym opisem automatu i czy automat jest
|
||
|
deterministyczny i nie zawiera cykli.
|
||
|
|
||
|
POINTS: 14
|
||
|
DEADLINE: 2019-12-16 23:59
|