Skip to content

07 그래프 #35

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

07 그래프 #35

wants to merge 6 commits into from

Conversation

onpyeong
Copy link
Contributor

🌆그래프 탐색 2

  • 각 도시별 1번 도시와의 최단 거리를 구해야하는 문제
  • 1번 도시 기준 모든 도시까지의 최단거리를 구하면 됨

🗒️텀 프로젝트

  • CYCLE에 속하지 않는 정점의 수
  • DFS로 접근해서 CYCLE이 생기면 한 팀, 여기 속하지 않으면 정답에 포함
  • 기존 풀이
    • 지금까지 방문한 정점을 알아야겠다 → stack, set에 저장
      • 왜? CYCLE 발견하고 나서, CYCLE 내의 모든 정점이 CYCLE이라는 표시하기 위해서!
    • set에 있는 정점을 또 다시 방문하면 → CYCLE
    • stack에서 하나씩 빼면서 CYCLE 내부 정점을 set에서도 빼줌
    • stack에 남은 원소는 방문은 했지만 CYCLE 바깥의 점이니 정답에 더해줌!
  • v2 풀이
    • 굳이 저장할 필요 없이 state라는 visit 배열을 두고 시작 정점으로 방문 표시를 하다가 시작 정점을 만나면 → CYCLE
    • CYCLE 표시는 다시 DFS를 돌면 됨
    • 그럼 남은 원소는 시작 정점으로 표시되어 있고, CYCLE은 전부 CYCLE 표시 되어 있다
    • 마지막에 CYCLE 표시 안된 정점만 세면 끝

🥬 적록색약

  • 적록색약 X
    • BFS -> 방문 표시를 dist에 하는 대신 R, G는 같은 숫자로 표시
  • 적록 색약 O
    • BFS -> dist를 보면서 방문을 시작하고 방문 표시를 map에 함

@onpyeong onpyeong self-assigned this Mar 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant