A Cserebere logikai szójátékot egy szótár alapján játszhatjuk. A játék alapja: egy kiinduló szóból egy szósorozatot kell előállítani, amely csak a szótárban lévő szavakból állhat, s a sorozat egymást követő szavai egy elemi átalakítással kaphatók az őket megelőző szóból. Kétféle szabály alkalmazható átalakításra: - A. szabály: egy betű kicserélése egy másikra
- B. szabály: egy betű kicserélése egy másikra vagy egy betű írása a szó végére.
Feladat
Készíts programot, amely a képernyőre és a JATEK.KI állományba írja soronként a kimenetnél leírtakat.
Bemenet
A SZOTAR.BE állomány első sorában a szótár szavainak száma (1<=N<=1000), a további N sorban pedig egy-egy, a szótárban szereplő szó van. A szavak legfeljebb 20 karakterből állnak. A JATEK.BE állomány első sorában az alkalmazandó szabály betűjele (A vagy B), a második és harmadik sorában pedig két különböző, a szótárban szereplő szó (P és Q) van.
Kimenet
Az első sorba az IGEN szó kerüljön, ha a P szóból előállítható a Q szó a megadott szabály szerinti szósorozat előállítással, egyébként a NEM szót kell írni. Ha előállítható, akkor az IGEN szótól egy szóközzel elválasztva szerepeljen a legkisebb szabályalkalmazás szám, amivel a Q a P-ből előállítható. A második sorba a P szóból a szabály szerint (nem feltétlenül egyetlen sorozatban) előállítható összes szót kell írni.
Példa
Bemenet szotar.be és jatek.be |
Kimenet |
7
OKOS
ÁKOS
ÁKOM
OKOD
ÁLOM
ALOM
HALOM
A
OKOS
ÁLOM
| IGEN 3
OKOS ÁKOS ÁKOM ÁLOM ALOM OKOD
|
Tesztadatok
Címkék
A feladat forrása: NTOITV 1999, 9-10. évfolyam, 2. forduló
Algoritmusok: szélességi bejárás
megoldás |