Programozó versenyek

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

2016. május 18. 18:10 – 2016. május 18. 19:50

Csokoládékavalkád

Írjon programot, amelynek első parancssori argumentuma egy szöveges állomány neve!

A program a szöveges állományból asztallapokat leíró blokkokat olvas be. Egy asztallapot leíró blokk adatai a következők: az első sor két egész számot tartalmaz, az asztallap hosszúságának (h) és szélességének (sz) az értékét, ahol 3 ≤ h ≤ 40 és 3 ≤ sz ≤ 40. A következő h sor mindegyikében sz darab karakter található, amelyek az asztalon szétszórt élelmiszereket írják le: a csokoládékat például mindig egy 'X' (nagy X betű) karakterekből álló 2×2-es négyzet szimbolizálja. Semmilyen más élelmiszert nem jelöl 'X' karakter, a többi karakter az asztallapon elhelyezkedő egyéb élelmiszereket írja le. A csokoládék – érdekes módon – úgy helyezkednek el az asztallapon, hogy nem érintik egymást oldalaikkal (sarkosan viszont érinthetik egymást!).

A program minden blokk esetén határozza meg és írja a standard kimenetre külön sorban, hogy hány csokoládé található az asztallapon!

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

  1. 8 20
  2. ....................
  3. ....................
  4. ....................
  5. ........XX..........
  6. ........XX..........
  7. ....................
  8. ....................
  9. ....................
  10. 9 20
  11. ..SSS......XX.......
  12. ...........XX.......
  13. ..XX.....O........w.
  14. ..XX......O...XX..|.
  15. .......XX..O..XX..|.
  16. .O.....XX.........|.
  17. ...........XX.......
  18. ...XX...|..XX.......
  19. ...XX...M...........
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. 6
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.