Halma | 프로그래밍의 벗 PivotOJ
PivotOJ

Halma

시간 제한: 1000ms메모리 제한: 1024MB출처: EIO 2020-21 prelimBOJ 29897
이 문제는 본문 이미지 일부가 표시되지 않습니다. 텍스트만으로 풀이가 어려울 수 있습니다.

문제

Halma on traditsiooniliselt kahe või nelja mängija lauamäng, mida mängitakse 8×88 \times 8 või 10×1010 \times 10 ruudust koosneval laual. Detsembris, kui Jõuluvanal on kiired päevad, mängib Jõulumemm ühe mängija varianti. Vahelduse suurendamiseks kasutab ta erinevaid ristkülikulisi mängulaudu.

Mängu alguses on mängija nupud laua ühes nurgas oleval stardialal ja eesmärk on viia need diagonaalis vastasnurka finišialale. Selleks võib teha kahesuguseid käike:

  • Sammuks nimetame nupu liigutamist tühjale naaberruudule samas reas või samas veerus, nagu näidatud alloleval joonisel vasakul. Sammukäigul võib teha ainult ühe sammu.
  • Hüppeks nimetame nupu liigutamist üle naaberruudul oleva nupu vahetult selle taga olevale tühjale ruudule samas reas või samas veerus. Hüpata võib ainult üle ühe nupu, nagu näidatud alloleval joonisel keskel (rohelise noole suunas saab hüpata, punase suunas ei saa). Erinevalt kabest üle teise nupu hüppamine teist nuppu kuidagi ei mõjuta. Hüppekäik võib koosneda ühest või mitmest järjestikusest hüppest sama nupuga, nagu näidatud alloleval joonisel paremal. Hüpete jada ei pea olema maksimaalse pikkusega: mängija võib käigu oma soovi kohaselt igal hetkel lõpetada, isegi kui tal oleks võimalik veel edasi hüpata.

[이미지 1]

Kirjutada programm, mis saab mänguseisu ja leiab sellel kõik ruudud, millele antud nupp ühe käiguga jõuda võib.

입력

Sisendi esimesel real on mängulaua ridade arv NN ja veergude arv MM (3N,M1003 \le N, M \le 100).

Järgmisel NN real on igaühel täpselt MM märki, kus punkt '.' tähistab tühja ruutu, trellimärk '#' uuritavat nuppu ja tärn '*' muud nuppu.

출력

Väljastada täpselt NN rida, igale reale täpselt MM märki: sisendis antud mängulaud, kus plussidega '+' on märgitud need ruudud, kuhu uuritav nupp ühe käiguga jõuda võib.

예제

예제 1

입력
6 7
.......
.......
..*#*..
...*.*.
...*...
.......
출력
.......
...+...
.+*#*+.
...*.*.
...*.+.
.......
코드를 제출하려면 로그인하세요.