Feladat: I/S.21 Korcsoport: - Nehézségi fok: -
Füzet: 2017/november, 484 - 485. oldal  PDF  |  MathML 
Témakör(ök): Nehezebb feladat, Programozás, algoritmusok

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Adott két kiszínezett kocka. Mindkét kocka külső oldalai vannak színezve, egy kockán belül nincs két azonos színű oldal. Elkészítjük a két kocka síkbeli hálóját ‐ bizonyos élek mentén történő felvágással ‐ úgy, hogy egy összefüggő síkidomot kapjunk. Két lehetséges hálót mutat az alábbi ábra:

 

 

Írjunk programot, amely eldönti, hogy a két hálóból összeállítható-e hajtogatással két egyező színezésű kocka.
A program a hálók leírását a standard bemenetről olvassa. A bemenet 10, 5 karakter hosszú sorból áll, az első 5 sor az első kocka, a következő 5 sor a második kocka hálóját adja meg. A lapok helyén az angol ábécé egy-egy nagybetűje szerepel, amely a színt jelöli, a többi helyre pedig a * (csillag) karakter kerül.
Ha a két háló azonos színezésű kockát határoz meg, akkor a standard kimenet egyetlen sorába az ,,igen'' szó kerüljön, egyéb esetben pedig annyi sorból álljon, ahány lap színének módosítása legalább szükséges a második kockán az elsővel egyező színezés kialakításához. Minden sorba két karakter kerüljön, az első azt a színt adja meg, amit cserélni kell, a második pedig azt, amire változtatni kell.
 
Példa bemenetPélda kimenetPélda bemenetPélda kimenet   *PB**B S*PB**IgenFZ***S BFZ****K****K****S****S***********************BPZ**SPZ****FKS**FKB********************
 

Értékelés: a megoldás lényegét leíró dokumentáció 1 pontot ér. További 9 pont kapható arra a programra, amely a megfelelő bemenetekre helyes kimenetet ad 1 másodperc futásidő alatt.
Beküldendő egy is21.zip tömörített állományban a megoldást leíró dokumentáció és a program forráskódja.