rkdalstjd9   4년 전

다른 부분은 문제없고 40~44번째 줄에 대한 질문입니다.

주석 친 부분은 구글링해서 참고한 정답이고 현재 코드는 제 코드 입니다. 

34,35 번째 줄에서 1이 무조건 root 에 오게 설정을 해주었습니다.

계속 틀렸습니다가 나오는데 반례를 못찻겠어서 질문 드립니다!

yonsweng   4년 전

input

3

2

1 3

2 3

이렇게 넣으면

parent[1] = 2

parent[2] = 2

parent[3] = 1

이 되어, 이 코드는 정답인 3이 아니라, 1을 출력하게 됩니다.

yonsweng   4년 전

위의 제가 든 예시의 출력이 0이 될 거 같네요.

lekonell   4년 전

1번 컴퓨터가 웜 바이러스에 걸렸을 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수를 출력하는 문제였군요... 반례를 잘못 입력해서 삭제했습니다.

yonsweng님의 반례에서 올바른 정답은 2입니다. 1로 인해 2와 3이 감염되기 때문입니다.

park780172   4년 전

올려주신 코드는 Union 함수에서

a와 b가 다를 때, b의 부모를 a로 '무조건' 지정하고 있습니다.

따라서, a와 b 중 누가 더 작은지 판단해야 합니다.

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