2606번 - 바이러스
Union Find 알고리즘을 참조해서 두 컴퓨터를 연결할 때 두 부모 중에서 항상 더 작은 쪽으로 설정하는 알고리즘으로 작성했는데, 어느 부분에서 틀린 건지 모르겠네요...
우왕 저랑 똑같이 짜셨네요ㅎㅎ 저도 틀렸어요 혹시 반례 찾으셨나요?
간단한 반례입니다.
4 3 1 2 3 4 2 4 output : 2 answer : 3
위 코드에서는 parent[u], parent[v] 중 최솟값을 찾는 것이 문제였습니다. parent배열 값의 최소가 아니라 getParent 함수로 가져온 u와 v 의 부모들 중, 더 큰 값의 parent를 더 작은 값으로 설정해주니 AC 받았습니다.
감사합니다. 도움이 됐습니다. 좋은 하루 보내세요
댓글을 작성하려면 로그인해야 합니다.
gazebo1 3년 전
Union Find 알고리즘을 참조해서 두 컴퓨터를 연결할 때 두 부모 중에서 항상 더 작은 쪽으로 설정하는 알고리즘으로 작성했는데, 어느 부분에서 틀린 건지 모르겠네요...