Problem : Line Friends(small)
유형 : 플로이드 워셜
문제 해석
- 선분들끼리 얼마나 가까운 관계인지를 확인하라
문제 재해석
- 친구 관계 이므로 양방향 이다.
- 친구 관계가 이어지지 않는다면 -1을 출력한다.
해결 전략
플로이드 워셜
을 이용하여 각 친구들간의 관계를 구한다.
주의할점
- 한쪽이 일방적으로 아는 관계가 아니다.
설계, 구현
- 선분의 길이를 전부 비교하며 친구 관계를 만든다.
A
선분과B
선분을 비교할때, 둘이 겹치는 구간이 있으면,1
인 친구관계를 만들어준다.
플로이드 워셜
을 통해 각 친구들간의 최단 관계 거리를 구한다.
코드
1 |
|
디버깅
- 양방향 간선 인걸 놓쳤었다.
cost
를 1부터 넣어야하는데, 0부터 넣는 실수를 했다.
피드백
1
부터 시작인지0
부터 시작인지 잘 구별하자.