[백준] 1043번 거짓말 c++


[백준] 1043번 거짓말 c++

유니온 파인드를 활용하는 문제 일단 거짓말 한 사람들을 truth 배열을 만들어서 true로 만들어주고 이 사람들과 같이 있던 사람들을 모두 true로 바꿔준다. 이때 같이 있던 사람들을 다 구해주기 위해서 유니온 파인드를 활용했다. 그리고 항상 거짓말을 친 사람을 root 노드로 만들어주기 위해서 truth 배열을 true로 바꿀 때 rank에 100을 더 해줬다. 최대 50명이니 최적화 안 한다고 하면 높이가 50까지 될 수 있으니 안전하게 100으로 해줬다. 사람들을 입력받고 merge 시킨 다음에 자신의 truth 배열을 자신이 가리키고 있는 root 노드의 truth 값으로 바꿔준다. 그다음 입력했던 모든 파티와 사람들에 대해서 한 명이라도 truth가 있다면..........

[백준] 1043번 거짓말 c++에 대한 요약내용입니다.

자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.



원문링크 : [백준] 1043번 거짓말 c++