문제를 보자마자 플로이드 워셜 알고리즘이 떠올랐다.
어느 회원과 다른 회원과의 점수는 노드 사이의 거리라고 생각할 수 있다.
어느 회원 노드에 대해서 다른 모든 회원 노드와의 거리를 구하고, 그 중에서 가장 큰 거리가 그 회원의 점수가 된다.
모든 회원에 대하여 다른 회원과의 거리를 알아야 하므로 플로이드 워셜 알고리즘을 사용하면 된다.
예를 들어, 문제의 예제에서 1번 회원은 2,3,4,5번 회원과의 거리가 각각 1, 2, 2, 3 이다.
이 중에서 가장 큰 값이 1번 회원의 점수가 되므로 1번 회원의 점수는 3이 된다.
소스코드 :
'BOJ' 카테고리의 다른 글
[백준 9375번] 패션왕 신해빈 (java) (0) | 2021.03.03 |
---|---|
[백준 2467번] 용액 (java) (0) | 2021.03.03 |
[백준 4358번] 생태학 (java) (0) | 2021.03.02 |
[백준 2343번] 기타 레슨 (java) (0) | 2021.03.01 |
[백준 6236번] 용돈 관리 (java) (0) | 2021.03.01 |