[백준|파이썬] 2644: 촌수계산 (실버2)

2023. 4. 7. 23:59·Problem Solving/백준
반응형
문제

https://www.acmicpc.net/problem/2644

 

2644번: 촌수계산

사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어

www.acmicpc.net

 

 

🐍파이썬
import sys

n = int(sys.stdin.readline())
a, b = map(int, sys.stdin.readline().split())
m = int(sys.stdin.readline())
chon = [[] for _ in range(n+1)]
for _ in range(1, m+1):
    c, d = map(int, sys.stdin.readline().split())
    chon[c].append(d)
    chon[d].append(c)
visited = [-1 for _ in range(n+1)]	#친척관계가 없는 경우 -1을 출력하기 위해 -1로 초기화
visited[a] = 0	#시작

#DFS
def dfs(start):
    for i in chon[start]:	#시작노드와 연결된 모든 노드에 대해
        if visited[i] == -1:	#방문한 적 없는 노드인 경우
            visited[i] = visited[start] + 1	#촌수+1
            dfs(i)	#깊이우선탐색

#BFS
def bfs(start):
    queue = []
    queue.append(start)	#시작노드 삽입
    while queue:	#큐가 빌때까지 반복
        v = queue.pop(0)	#큐의 가장 처음 노드를 꺼내기
        for i in chon[v]:	#해당 노드와 연결된 모든 노드에 대해
            if visited[i] == -1:	#방문한 적 없는 노드인 경우
                visited[i] = visited[v] + 1	#촌수+1
                queue.append(i)	#큐에 노드를 추가

dfs(a)
# bfs(a)
print(visited[b])	#end 노드의 값을 프린트해 촌수를 출력

 

반응형

'Problem Solving > 백준' 카테고리의 다른 글

[백준|파이썬] 6186: Best Grass (실버5)  (0) 2023.04.10
[백준|파이썬] 16173: 점프왕 쩰리 (Small) (실버4)  (0) 2023.04.09
[백준|파이썬] 1012: 유기농 배추 (실버2)  (0) 2023.04.08
[백준|파이썬] 2178: 미로 탐색 (실버1)  (0) 2023.04.06
[백준|파이썬] 2606: 바이러스 (실버3)  (0) 2023.04.05
[백준|파이썬] 1260: DFS와 BFS (실버2)  (0) 2023.04.05
'Problem Solving/백준' 카테고리의 다른 글
  • [백준|파이썬] 16173: 점프왕 쩰리 (Small) (실버4)
  • [백준|파이썬] 1012: 유기농 배추 (실버2)
  • [백준|파이썬] 2178: 미로 탐색 (실버1)
  • [백준|파이썬] 2606: 바이러스 (실버3)
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 프로그래밍 N
        • Programming
        • C | C++
        • Java N
        • Python
      • 웹 프로그래밍
        • HTML | CSS
        • JavaScript | TypeScript
        • React
        • Vue.js
        • Next.js
        • Spring & Spring Boot
        • JSP & Servlet
        • DB
      • 웹 프로젝트
        • 웹 프로젝트
        • 🥨스낵몰
        • 👨‍👨‍👧‍👧소셜 가계부
        • 🌜꿈 일기장
        • 🔮포트폴리오 사이트
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼
        • 😺Just Meow It: 고양이의 조언
      • 앱 프로그래밍
        • Flutter
        • Kotlin
      • Problem Solving
        • 백준
        • 프로그래머스
        • SWEA
      • Computer Science
        • 알고리즘
        • 컴퓨터 네트워크
        • 이산수학
      • Developer
        • 후기
        • 자료정리
        • 취업 | 취준
        • 웹개발 교육 프로그램
        • TIL
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    자바스크립트
    Next.js
    알고리즘
    SWEA
    클론 프로젝트
    mysql
    bfs
    웹사이트
    플러터
    Jiraynor Programming
    ZeroCho
    백준
    spring boot
    강의내용정리
    컴퓨터네트워크
    프로젝트
    React
    리액트
    뉴렉처
    파이썬
    프로그래머스
    포트폴리오
    구현
    블로그 제작
    d3
    Til
    공식문서
    AWS
    타입스크립트
    자바
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
[백준|파이썬] 2644: 촌수계산 (실버2)
상단으로

티스토리툴바