[백준|파이썬] 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)
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍
        • Programming
        • C | C++
        • Java
        • 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
  • 공지사항

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

  • 태그

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

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

티스토리툴바