Zadanie łączenie słów

0

Witam,
Mam do rozwiązania zadanie:
Napisz program, który rozwiązuje następujące łamigłówki: wczytuje z pliku
2 × K słów, łączy je w K par w taki sposób, żeby każda para składała się ze słowa wewnętrznego
(a) oraz zewnętrznego (b), i żeby słowo zewnętrzne dało się podzielić na dwie części (b1, b2) w
taki sposób, że po połączeniu z a dadzą istniejące słowo, mające postać b1ab2 (zarówno b1 jak i b2
powinny być niepuste). Przykładowo, warunki te spełnia para (łom, pień) bowiem istnieje podział
słowa pień na część p- oraz -ień, w wyniku czego otrzymamy słowo płomień.
Zaprezentuj działanie programu na następującym zestawie słów: kotka, kula, kutwa, lin, matura,
para, pranie, ropa, setka, sowa.

Pomyślałem, żeby zrobić to tak, że tworzymy słownik i wczytujemy do niego te słowa jako klucze. Następnie przechodzimy po każdym tym słowie i sprawdzamy czy z zestawu tych słów i innego z słowa z tego pliku da się utworzyć to 1 słowo lecz pojawia się pętla w pętli więc to raczej słaby pomysł ma ktoś może jakiś inny pomysł?

0

Pętla w pętli nie jest niczym złym. Przy rozwiązaniu tego problemu od tego nie uciekniesz.

Jeśli jednak napiszesz już swoje rozwiązanie, ale będziesz się bał o to, że porównywanie (szukanie) słów trwa długo, możesz zainteresować się takimi tematami jak haszowanie lub algorytm KMR. To jest coś bardziej ambitnego, ale na pewno też ciekawego. EDIT: zapomniałem, że to dział Python, więc haszowanie masz za darmo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1