|
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 10 MERT*FLORA OPERALO*AD T*LOGIKA*D OK*LAPOZNI ZILIZ*STEG
letöltés szöveges állományként
A példa bemenethez tartozó kimenet
Vizszintes 1 MERT 5 FLORA 9 OPERALO 11 AD 12 LOGIKA 14 OK 16 LAPOZNI 18 ZILIZ 19 STEG Fuggoleges 1 MOTOZ 2 EP 3 REL 4 TROLI 5 FLIP 6 LOKOS 7 RA 8 ADDIG 10 AGAZ 13 AZT 15 KI 17 NE
letöltés szöveges állományként
|
|