Programozó versenyek

DEIK Regionális Programozó Csapatverseny, egyetemi kategória, 2023. december 3.

2023. december 3. 10:00 – 2023. december 3. 15:30

Aknakereső

Még az internet "kezdetén" (amikor nem volt még sok látnivaló a neten) sok ember töltötte az unalmas téli estéit az "aknakereső" játékkal. Aki esetleg nem ismerné, a számítógépes játék az alábbiak szerint épület fel:

  • A játékmező egy "négyzetrácsos téglalap" (cellákra osztott táblázat).
  • A mező minden cellája kattintható és a kattintás során az alábbiak történhetnek:
    • Az adott mezőn egy aknát találunk. Ekkor vesztettünk.
    • Az adott mezőn egy szám található, ekkor a játék folytatódik. A szám azt írja le, hogy az adott cella közvetlen környezetében (pl. ha a kattintott cella nem a pálya peremén van akkor a környező 8 cellában) hány akna található.
  • A játék célja az összes akna megkeresése és hatástalanítása (pl. jobb gombbal, de ez számunkra most nem releváns).
A feladat célja, hogy egy ASCII-aknakeresőben megtaláljuk és kiírjuk az összes akna koordinátáit.

Input

A bemenet három egységből áll:

  • Az első sor egy n és m, szóközzel elválasztott pozitív egészet tartalmaz, melyek rendre a játékmező sorainak és oszlopainak számát adják meg.
  • A második sor egy pozitív k egész, mely az aknák számát írja le.
  • A következő n sor mindegyike egy-egy m hosszú string, melynek minden karaktere az alábbiak valamelyike:
    • .: a környező cellákban nincs akna
    • 1-9: a környező cellákban a megadott számú akna van
    • ?: nem tudunk semmit az adott celláról

Output

A kimenet k sor, melyek mindegyike egy-egy különböző akna koordinátáit tartalmazza. A koordináták között egyetlen szóköz karakter szerepeljen, az első szám a sor, míg a második szám az oszlop koordinátát adja meg. A táblázat bal felső cellája a 0 0 koordináta, a jobb alsó az n-1 m-1. A kiírást rendezni szükséges, az aknák rendezési sorrendje elsőként sor, majd azon belül oszlop szerint történik (azaz a 3 7 akna a 3 10 előtt van, de a 2 13 után).

Megkötések

  • n és m legalább 3 és legfeljebb 20
  • k legalább 1 és legfeljebb 20
  • a feladat mindig egyértelműen megoldható

Példa

Input:
  1. 6 6
  2. 4
  3. .1???1
  4. .11211
  5. 11....
  6. ?2....
  7. ?2....
  8. 11....
letöltés szöveges állományként Output:
  1. 0 2
  2. 0 4
  3. 3 0
  4. 4 0
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30.