2021번: 최소 환승 경로

2021. 8. 15. 17:16·Algorithm
 

2021번: 최소 환승 경로

첫째 줄에 역의 개수 N(1≤N≤100,000), 노선의 개수 L(1≤L≤100,000)이 주어진다. 다음 L개의 줄에는 각 노선이 지나는 역이 순서대로 주어지며 각 줄의 마지막에는 -1이 주어진다. 마지막 줄에는 출발

www.acmicpc.net

 

import sys
from collections import deque, defaultdict

r = sys.stdin.readline

node_num, flag_num = map(int, r().split())
graph = defaultdict(set)

for i in range(1, flag_num + 1):
    temp = list(map(int, r().split()))
    temp.pop()
    for node in temp:
        graph[node].add(i + node_num)
        graph[i + node_num].add(node)

start, end = map(int, r().split())
q = deque([])
q.append(start)
visited = set()
visited.add(start)
cost = {start: 0}
while q:
    cur_node = q.popleft()
    if cur_node == end:
        break

    for adj in graph[cur_node]:
        if adj not in visited:
            if adj >= node_num + 1:
                cost[adj] = cost[cur_node]
            else:
                cost[adj] = cost[cur_node] + 1
            visited.add(adj)
            q.append(adj)

if start == end:
    print(0)
else:
    print(cost[end] - 1 if end in cost else -1)

'Algorithm' 카테고리의 다른 글

1605. Find Valid Matrix Given Row and Column Sums  (1) 2021.08.18
1008. Construct Binary Search Tree from Preorder Traversal  (0) 2021.08.16
797. All Paths From Source to Target  (2) 2021.08.15
239. Sliding Window Maximum  (0) 2021.08.14
297. Serialize and Deserialize Binary Tree  (0) 2021.08.12
'Algorithm' 카테고리의 다른 글
  • 1605. Find Valid Matrix Given Row and Column Sums
  • 1008. Construct Binary Search Tree from Preorder Traversal
  • 797. All Paths From Source to Target
  • 239. Sliding Window Maximum
Doljae
Doljae
  • Doljae
    Zero to Hero
    Doljae
  • 전체
    오늘
    어제
    • 분류 전체보기 (349)
      • Programming (54)
      • Algorithm (161)
      • Review (102)
      • Career (8)
      • Diary (18)
      • Shorts (4)
      • Temp (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글 쓰기
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    jpa
    2021
    BOJ
    sql
    코딩테스트
    mysql
    database
    컨퍼런스
    AI
    sql튜닝
    2023
    leetcode
    코딩
    line
    면접
    나는리뷰어다
    db
    한빛미디어
    2022
    PYTHON
    회고
    공채
    인프콘
    라인
    ChatGPT
    java
    나는 리뷰어다
    개발자
    백준
    프로그래머스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Doljae
2021번: 최소 환승 경로
상단으로

티스토리툴바