Programozó versenyek

Magas szintű programozási nyelvek 1, 2017. január 4., Sz8 ZH

2017. január 4. 8:05 – 2017. január 4. 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 meg kell határoznia, hogy hány darab vízszintes irányú és hány darab függőleges irányú szó szerepel a rejtvényábrában! Ezt a két értéket a standard kimenetre kell írnia, egymástól pontosan egy szóköz karakterrel elválasztva! A második számot közvetlenül kövesse egy soremelés karakter!

De hogy mit is tekintünk valójában szónak a rejtvényábrában? Olyan, legalább két betű karakterből álló betűsorozatokat, amelyek

  1. vízszintesen vagy az első oszlopban kezdődnek, vagy nem az első oszlopban kezdődnek ugyan, de a kezdőbetűjüktől balra fekete négyzet található, mindemellett pedig a kezdőbetűjük mellett jobbra még legalább egy további betű karakter található;
  2. függőlegesen vagy az első sorban kezdődnek, vagy nem az első sorban kezdődnek ugyan, de a kezdőbetűjük fölött fekete négyzet található, mindemellett pedig a kezdőbetűjük alatt még legalább egy további betű karakter található.

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. 9 12
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.