|
Keresztrejtvény
Írjon programot, amely a standard bemenet első sorából beolvas egy R és egy
C egész számot
(1 ≤ R, C ≤ 50), egy keresztrejtvény
sorainak és oszlopainak a számát! A bemenet további sorai a keresztrejtvény ábráját
tartalmazzák, ahol a fekete négyzetek helyét '*' karakter jelöli.
A programjának el kell készítenie egy rejtvényújság számára a vízszintes és függőleges sorok
gyűjteményét, először a vízszintesekét, aztán a függőlegesekét. Ehhez a programjának –
gondolatban vagy akár ténylegesen is – sorfolytonos sorszámozással kell ellátnia azokat
a cellákat, ahonnan vízszintes vagy függőleges irányba szó indul. Gondoljuk csak végig: hol
és hogyan indulhat el egy szó a keresztrejtvényábrában?
-
Vízszintesen úgy, ha vagy az első oszlopban indul, vagy a kezdőbetűjétől balra fekete
négyzet található, ugyanakkor pedig a kezdőbetűje még legalább egy további karakterrel
folytatódik vízszintes irányban.
-
Függőlegesen úgy, ha vagy az első sorban indul, vagy a kezdőbetűje felett fekete négyzet
található, ugyanakkor pedig a kezdőbetűje még legalább egy további karakterrel
folytatódik függőleges irányban.
A vízszintes szavak gyűjteménye egy olyan sorral kezdődjön, amely a
„Vizszintes” szót tartalmazza! A további sorokban pedig
sorfolytonosan a vízszintes szavak sorszáma, majd az adott vízszintes szó maga kerüljön
kiírásra! Ezt kövesse a függőleges szavak gyűjteménye egy olyan sorral, amely a
„Fuggoleges” szót tartalmazza! A további sorokban sorfolytonosan a
függőleges szavak sorszáma, majd az adott függőleges szó maga kerüljön kiírásra!
Példa bemenet
5 10MERT*FLORAOPERALO*ADT*LOGIKA*DOK*LAPOZNIZILIZ*STEG
letöltés szöveges állományként
A példa bemenethez tartozó kimenet
Vizszintes1 MERT5 FLORA9 OPERALO11 AD12 LOGIKA14 OK16 LAPOZNI18 ZILIZ19 STEGFuggoleges1 MOTOZ2 EP3 REL4 TROLI5 FLIP6 LOKOS7 RA8 ADDIG10 AGAZ13 AZT15 KI17 NE
letöltés szöveges állományként
|
|