Programozó versenyek

DEIK Regionális Programozó Csapatverseny, középiskolai kategória, 2025. december 7.

2025. december 7. 10:30 – 2025. december 7. 15:30

Díszek

A karácsonyfa díszek nélkül csupán egy egyszerű fenyőfa. Ellenben a díszekre ugyanúgy hat a gravitáció, mint bármely más tárgyra. Így néha le-lepotyognak a fáról. Szerencsére a fán vannak csillagok, melyek csavarokkal vannak az ágakhoz rögzítve és a feladatuk az, hogy megakadályozzák, hogy a díszek a földre essenek és széttörjenek. A ti feladatotok eldönteni, hogy egy átmulatott karácsonyi éjszaka után melyik dísz hol köt ki.

Input

A bemenet az alábbi, sor vége karakterrel lezárt sorokból áll:

  • Az első sor két pozitív egész, szóközzel elválasztott n m számot tartalmaz.
  • A következő n mindegyike m darab karaktert tartalmaz. A karakterek mindegyike a "." (levegő), "o" (dísz) és "*" (csillag) valamelyike lehet.

Output

A kimenet egy ugyanúgy n sorból és m oszlopból álló rajz, mely megmutatja, hogy a "leesések után" a díszek milyen módon helyezkednek el. Az elhelyezkedés az alábbi szabályok szerint történik:

  • A díszek "fentről lefelé" esnek a földig (a 0. sortól az n-1-edik sorig). Az n-1-edik sor jelképezi a földet.
  • Mindegyik "o" dísz a földig, vagy egy csillagig ("*") esik, attól függően, hogy melyikkel találkozik hamarabb.
  • A csillagig ("*") esett "o" dísz közvetlenül a csillag feletti mezőn áll meg.
  • A csillagok nem esnek le és nem törnek el.
  • Az "o" díszek csak akkor törnek el, ha két, vagy több "o" dísz találkozik. Így a "*" és a föld (n-1-edik sor) alapból nem törik el a díszeket.

Példa

Input:
  1. 8 5
  2. .....
  3. o..*.
  4. ..o..
  5. *...o
  6. o.*.*
  7. ..o.o
  8. o...*
  9. .....
letöltés szöveges állományként Output:
  1. .....
  2. ...*.
  3. o....
  4. *.o.o
  5. ..*.*
  6. ....o
  7. ....*
  8. ..o..
letöltés szöveges állományként

Magyarázat

Az első oszlopban a legfelső "o" dísz a "*"-ig esik, ám a maradék két "o" dísz mindegyike a földig, így azok eltörtek. A második oszlopban nincs dísz. A harmadik oszlopban két dísz található, de az elsőt a "*", míg a másodikat a "föld" fogja meg, így azok nem ütköznek egymással. A negyedik oszlopban nincs "o" dísz, így nincs ami leessen, míg az utolsó oszlopban a két "o" dísz eleve a két "*" díszen van, így nem tudnak tovább esni.
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30.