오류는 dfs 에 있었습니다. visited 에 있었으면(전에 방문했었으면) 다시 가지 않게끔 코드를 짰는데, 만약 다른 루트로 왔을 때 dist 가 더 길 수 있었습니다.
그래서 방문했던 지역도 다시 방문하되, 이미 전에 방문했었으면 아이템 개수를 더해주지 않고, 만약 방문하지 않았으면 아이템 개수를 더해주는 방법으로 고쳤더니 맞더라구요
14938번 - 서강그라운드
오류는 dfs 에 있었습니다. visited 에 있었으면(전에 방문했었으면) 다시 가지 않게끔 코드를 짰는데, 만약 다른 루트로 왔을 때 dist 가 더 길 수 있었습니다.
그래서 방문했던 지역도 다시 방문하되, 이미 전에 방문했었으면 아이템 개수를 더해주지 않고, 만약 방문하지 않았으면 아이템 개수를 더해주는 방법으로 고쳤더니 맞더라구요
댓글을 작성하려면 로그인해야 합니다.
jintak0401 4년 전
코드가 동작하는 방법은 일단 지역별로 연결된 지역과 거리를 딕셔너리로 관리합니다. 입력예제의 경우
{0: {3: 5, 1: 3}, 3: {0: 5}, 4: {1: 4, 2: 1}, 1: {4: 4, 2: 3, 0: 3}, 2: {1: 3, 4: 1}} 와 같습니다.
그리고 dfs 를 통해 탐색을 하는데 어디가 잘못된 것인지 모르겠습니다.
<변수>
zone : 지역개수
item : 지역별 아이템 개수
path : 위의 딕셔너리
visited : 방문한 지역
dist : 남은 탐색거리