이세계개발자의 개발일지

  • 홈
  • 태그
  • 방명록

1389 1

(매일 BOJ) C++ 1389번 케빈 베이컨의 6단계 법칙

문제 요약N명의 사람과 M개의 친구 관계가 주어진다친구 관계는 양방향이며, 한 사람과 다른 사람은 친구의 친구를 통해 연결될 수 있다케빈 베이컨 수: 한 사람이 다른 모든 사람과 연결되는 최소 단계 수들의 합케빈 베이컨 수가 가장 작은 사람의 번호를 출력접근법이 문제의 핵심은 모든 노드에서 다른 모든 노드까지의 최단 거리 합을 구하는 것이다A와 B가 직접 친구라면 거리는 1A의 친구의 친구라면 거리는 2최단 거리 합이 가장 작은 노드를 출력최단 거리 구하는 방법BFS 사용BFS는 한 레벨씩 탐색하므로 최단 거리 계산에 최적시간 복잡도: O(N × (N+M)) → N ≤ 100 이므로 충분히 가능DFS 는 최단거리를 구할 수 없다 (DFS + 백트레킹 -> TLE)플로이드 워셜 or BFS 를 사용해야 함..

매일 BOJ 2025.08.12
이전
1
다음
더보기
프로필사진

이세계개발자의 개발일지

매일 BOJ 한문제씩 풀기!

  • 분류 전체보기 (109)
    • 매일 BOJ (96)
    • 프로젝트 활동 (0)
    • 백엔드 개발 (0)
    • 프론트 개발 (0)
    • 시험공부 (13)

Tag

이분탐색, 그래프 이론, 집합과 맵, C++, 25-2, 그래프 탐색, 바이너리서치, dfs, 깊이 우선 탐색, BFS, 최단 경로, 정렬, 백준, 스택, 과기대, introduction to programming(2), 자료구조, 매개변수 탐색, 시간복잡도, 너비 우선 탐색,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2026/01   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

  • solved.ac
  • BOJ
  • github

티스토리툴바