his130   6년 전

유니온파인드를 통해서 문제를 풀었습니다.

근데 답을 구하는 과정에서 

처음에 ans=n이라고 놓고 merge 가 일어날때마다 n-- 해서 답을 출력하면 AC를 받습니다.

하지만

p를 오름차순으로 정렬하고,

for문을 이용해서 n-1까지 돌면서 서로 다른값들이 몇개 있는지 체크합니다.

그러게 되면 맨 처음값은 체크를 못하니까 ans+1을 해서 출력을 하는데

이 방법은 왜 틀렸는지 모르겠네요.

좀 알려주실수 있을까요?

his130   6년 전

<자문자답>

p[i]가 루트가 아닐 수 있다 . find 가 정확

댓글을 작성하려면 로그인해야 합니다.