[백준|파이썬] 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)
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기 (505)
      • 프로그래밍 (41)
        • Programming (1)
        • C | C++ (6)
        • Java (28)
        • Python (5)
      • 웹 프로그래밍 (108)
        • HTML | CSS (5)
        • JavaScript | TypeScript (41)
        • React (25)
        • Vue.js (0)
        • Next.js (18)
        • Spring & Spring Boot (13)
        • JSP & Servlet (1)
        • DB (4)
      • 웹 프로젝트 (77)
        • 웹 프로젝트 (22)
        • 🥨스낵몰 (3)
        • 👨‍👨‍👧‍👧소셜 가계부 (26)
        • 🌜꿈 일기장 (11)
        • 🔮포트폴리오 사이트 (11)
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램 (0)
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼 (0)
        • 😺Just Meow It: 조언 사이트 (2)
        • 📕Workly: 교대근무 다이어리 (1)
      • 앱 프로그래밍 (26)
        • Flutter (24)
        • Kotlin (2)
      • Problem Solving (166)
        • 백준 (52)
        • 프로그래머스 (79)
        • SWEA (29)
      • Computer Science (40)
        • 알고리즘 (14)
        • 컴퓨터 네트워크 (18)
        • 이산수학 (8)
      • Developer (47)
        • 후기 (4)
        • 자료정리 (4)
        • 취업 | 취준 (9)
        • SSAFY (1)
        • 웹개발 교육 프로그램 (9)
        • TIL (20)
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

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

  • 태그

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

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

티스토리툴바