| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 339 | 143 | 112 | 42.105% |
한여름의 날씨는 더워도 너무 덥다. 민규는 외출은커녕 집에서 에어컨에 의지한 채 살아가고 있지만, 오늘은 약속이 있어 불가피하게 집 밖으로 나와 약속 장소로 가야 한다. 그러나 시원한 집에서 쉬다 보니 어느새 약속 시간에 늦어버리고 말았다. 빨리 집을 나서야 한다!
밖은 $N$행 $M$열의 격자로 이루어져 있다. 격자의 각 칸은 집, 약속 장소, 건물, 벽, 길 중 하나로 이루어져 있다. 집과 건물은 실내이고, 길, 벽, 약속 장소는 실외이다.
밖은 너무 더워 실외에 있을 때는 지속적으로 불쾌함 $B$가 증가한다. 그러나 중간중간 이동 경로에 있는 실내는 매우 시원하여, 실내를 지나가거나 실내에서 쉬는 동안에는 불쾌함이 감소한다.
초기에 민규의 불쾌함은 0ドル$이며, 불쾌함이 100ドル$이 되면 민규는 견딜 수 없어 쓰러지고 만다.
민규는 집에서 출발하여 다음과 같은 순서로 행동한다. 1번 행동은 이동 여부와 상관없이 1ドル$의 시간이 소요되며, 2번과 3번 행동에 드는 시간은 무시할 수 있을 만큼 짧다.
민규가 약속 장소에 쓰러지지 않고 최대한 빠르게 도달할 수 있도록, 민규의 이동 경로를 계산하는 프로그램을 작성해 주자. 단, 약속 장소로 이동하여 불쾌함이 100ドル$이 되면 민규는 쓰러지며, 약속 장소에 도달하지 못한 것으로 간주한다.
첫 번째 줄에 격자의 크기를 나타내는 정수 $N,ドル $M$이 공백으로 구분되어 주어진다.
두 번째 줄에 실내에서 감소하는 불쾌함, 실외에서 증가하는 불쾌함을 나타내는 정수 $K,ドル $C$가 공백으로 구분되어 주어진다.
세 번째 줄부터 $N+2$번째 줄까지 거리의 상태를 나타내는 길이 $M$의 문자열이 주어진다. $i+2$번째 줄의 $j$번째 문자는 $i$행 $j$열의 칸을 이루는 대상을 나타낸다. 만약 문자가 S라면 민규의 집 위치, E라면 약속 장소, H라면 건물, #이라면 벽, .(온점)이라면 길을 의미한다. S와 E는 각각 하나씩 주어진다.
민규가 약속 장소에 쓰러지지 않고 도달할 수 있는 최소 시간을 출력한다. 만약 그런 방법이 없다면 -1을 출력한다.
3 4 10 25 S... #.H. E...
8
3 4 10 25 S... #..H E...
-1
University > 전남대학교 > 2024 하반기 전남대학교 PIMM 알고리즘 파티 D번