시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 512 MB | 977 | 353 | 270 | 36.290% |
크기가 $N \times M$인 미로가 있다. 미로는 격자 형태이고 .
과 +
로 이루어져 있다. .
은 지나갈 수 있는 길을, +
는 지나갈 수 없는 벽을 의미한다. 우리는 미로가 입력으로 주어지면, 미로의 두 구멍을 최단 거리로 연결할 때 지나지 않는 길을 표시할 것이다.
미로의 가장자리에 존재하는 .
이 미로의 구멍이다. 항상 두 개만 주어지며, 한 구멍에서 다른 구멍으로 최단 경로로 이동해야 한다. 미로의 두 구멍은 서로 이웃하지 않는다.
두 구멍 사이를 최단 경로로 이동할 때 사용하지 않은 길은 @
로 표시해야 한다.
주어진 미로를 최단 거리로 이동할 때 사용하지 않은 길을 찾는 프로그램을 작성하시오.
첫 번째 줄에는 미로의 크기 $N, M$이 주어진다. $(3 \le N, M \le 2,001$, $N, M$은 홀수$)$
두 번째 줄부터는 미로의 정보가 주어진다. 두 번째 줄부터 $N$줄에 거쳐 각 줄에는 길이가 $M$이고 .
과 +
만으로 이루어진 문자열이 주어진다.
같은 지점으로 돌아오는 길이 존재하지 않고, 두 구멍 사이를 이동할 수 있는 미로만 주어진다.
주어진 미로를 최단 거리로 이동하는 데 사용하지 않은 길을 @
로 표시한 결과를 출력한다.
7 7 +++++++ +.+.... +.+++.+ +...+.+ +.+.+.+ ..+...+ +++++++
+++++++ +@+@@.. +@+++.+ +...+.+ +.+.+.+ ..+...+ +++++++
7 7 +++++++ ......+ +.+++.+ +...+.+ +++.+++ +...... +++++++
+++++++ ..@@@@+ +.+++@+ +...+@+ +++.+++ +@@.... +++++++
7 7 +++++++ ......+ +++++.+ +.....+ +.+++++ +...... +++++++
+++++++ ......+ +++++.+ +.....+ +.+++++ +...... +++++++
13 11 +++++++++++ +.+.....+.+ +.+.+++.+.+ +...+.+...+ +.+++.+.+.+ +.+...+++.+ +.+++.+.+.+ +.......+.. +.+++++++++ +.......+.+ +.+++++++++ +.......... +++++++++++
+++++++++++ +@+.....+@+ +@+.+++.+@+ +...+@+...+ +.+++@+@+.+ +.+@@@+++.+ +.+++@+@+.+ +.@@@@@@+.. +.+++++++++ +.@@@@@@+@+ +.+++++++++ +.......... +++++++++++
University > 한양대학교 > 제8회 한양대학교 프로그래밍 경시대회 > Beginner Division C번