NézetNyomtat

Szójáték (Megoldás)
Címkék > Feladat
Elmélet > Algoritmusok > Gráfalgoritmusok
Versenyek > Nemes Tihamér OKSzTV > 1999 > Második forduló > 9-10. osztály

Szójáték

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.

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 szerplő szó (P és Q) van.

Feladat és kimenet:

Készíts programot, amely a képernyőre és a JATEK.KI állományba írja soronkét az alábbiakat.
  1. 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ó.
  2. 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:

SZOTAR.BEJATEK.BEJATEK.KI
7 OKOS ÁKOS ÁKOM OKOD ÁLOM ALOM HALOMA OKOS ÁLOMIGEN 3 OKOS ÁKOS ÁKOM ÁLOM ALOM OKOD

Tesztadatok