Programozó versenyek

Magas szintű programozási nyelvek 1, 2017. január 3., K8 ZH

2017. január 3. 8:10 – 2017. január 3. 10:00

Keresztrejtvény

Írjon programot, amely a standard bemenet első sorából beolvas egy R és egy C egész számot (1 ≤ RC ≤ 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?

  1. 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.
  2. 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

  1. 5 10
  2. MERT*FLORA
  3. OPERALO*AD
  4. T*LOGIKA*D
  5. OK*LAPOZNI
  6. ZILIZ*STEG
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. Vizszintes
  2. 1 MERT
  3. 5 FLORA
  4. 9 OPERALO
  5. 11 AD
  6. 12 LOGIKA
  7. 14 OK
  8. 16 LAPOZNI
  9. 18 ZILIZ
  10. 19 STEG
  11. Fuggoleges
  12. 1 MOTOZ
  13. 2 EP
  14. 3 REL
  15. 4 TROLI
  16. 5 FLIP
  17. 6 LOKOS
  18. 7 RA
  19. 8 ADDIG
  20. 10 AGAZ
  21. 13 AZT
  22. 15 KI
  23. 17 NE
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.