MY MEMO
[문제해결기법] 길동이의 여행 본문
정답 코드
이 문제는 최소 스패닝 트리로 푸는 문제이다.
최소 스패닝 트리를 간단히 설명하자면
1. 최소 거리를 순서대로 저장해 놓는다
2. 만약 그 거리를 연결했을 때 사이클이 돈다면 설정하지 않는다
3. 사이클이 돌지 않는다면 연결시키고 결과 값에 더해준다.
이건 오답코드이다.
위와 다른 점은 parent를 초기화하는 시간을 줄이기 위해 꼼수를 썼다는 것이다.
아래와 같으면 왜 되지 않을까
parent의 최대 값은 N이다 그리고 간선의 최소 값은 N-1이다
나는 N값을 모두 초기화 시켜야하는데 간선의 개수가 N-1이기때문에 마지막이 초기화가 되지 않는다.
따라서 이 코드가 계속해서 오류가 났다.
'ALGORITHM > 문제해결기법' 카테고리의 다른 글
[Week14] 철수의 7 세그먼트 숫자놀이 (0) | 2017.06.14 |
---|---|
[문제해결기법] Ordered Tree 완성하기 (0) | 2017.05.22 |
[문제해결기법] 절대반지를 건 사다리 게임 (0) | 2017.05.19 |
[문제해결기법] 곱셈게임 (0) | 2017.05.09 |
[문제해결기법] 카드게임(도둑 잡기) (0) | 2017.04.14 |
Comments