일단 본 문제 굳이 DFS로 푸시면 다소 비효율적이구요,
그냥 2중FOR문 돌리시거나
플로이드 워셜 돌려서, 각 줄에서 최단거리 2 이하인 정점 갯수 구하시는 것도 나쁘지 않네요.
일단 이 경우에 각각의 사람에 대해 dfs를 한 번씩 돌려주는 것 같은데요,
A-B가 친구면 지금 A/O 노드로 시작을 하는데, 두 번 이동하며 A가 TRUE로 찍힐 수도 있을 것 같아요.
일단 간단하게 코드만 보고 답변드리는 거라... 시도해본 예시 알려주시면 더 도와드릴 수 있을 것 같네요
park780172 4년 전
계속 생각해봐도
dfs에서 어디가 잘못 됐는지
반례가 무엇인지
찾기가 어렵네요..
한 정점으로부터 거리가 2인 정점들의 개수 중 최댓값을 찾는 문제라고 이해했는데
제 코드에서 어디가 무엇이 잘못 됐는지 잘 모르겠습니다!