Programozó versenyek

Magas szintű programozási nyelvek 1, 2016. május 18., Sz12 ZH

2016. május 18. 12:05 – 2016. május 18. 13:55

Sej, virágom, virágom…

Írjon programot, amely parancssori argumentumként megkapja egy szöveges állomány nevét! A szöveges állomány virágos réteket leíró blokkok sorozatát tartalmazza.

A blokkok első sora két egész számot tartalmaz, a rét szélességét (sz) és hosszúságát (h), ahol 3 ≤ sz ≤ 40 és 3 ≤ h ≤ 40. A következő h sor mindegyike egy sz hosszú sztringet tartalmaz, ezek a sorok írják le a rét felülnézeti képét. A virágos réteken nyíló virágok szirmai X alakot formáznak, és nagyon sokfélék lehetnek (lásd a példa állományt), de – érdekes módon – az egymás közelében elhelyezkedő virágok is úgy helyezkednek el, hogy jól meg lehet őket különböztetni egymástól a felülnézeti képen. A virágokat kizárólag az angol ábécé nagybetűi jelölik. A rétnek azokat a részeit, ahol nincsen egyetlen virág sem, '.' (pont) karakterek szimbolizálják.

A program minden blokk esetén határozza meg és írja a standard kimenetre külön sorban, hogy a réten hányféle (vigyázat, nem hány darab, hanem hányféle!) virág nyílik!

Példa állomány (sample.txt)

  1. 5 3
  2. .X.X.
  3. ..X..
  4. .X.X.
  5. 7 6
  6. .......
  7. .X.X...
  8. .OXO...
  9. .XOXW.W
  10. .O.O.W.
  11. ....W.W
letöltés szöveges állományként

Parancssori argumentumok

  1. sample.txt
letöltés szöveges állományként

A futtatás eredménye a standard kimeneten

  1. 1
  2. 3
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.