[DFS] 백준 2644번: 촌수계산(Swift)

2022. 11. 9. 23:35·코테

난이도: 실버 2

사용 언어: Swift

카테고리: DFS

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

2644번: 촌수계산

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

www.acmicpc.net

Code

let n = Int(readLine()!)!
let sf = readLine()!.split(separator: " ").map { Int($0)! }
let start = sf[0]
let finish = sf[1]
let m = Int(readLine()!)!

var visited = Array(repeating: false, count: n + 1)
var links: [[Int]] = Array(repeating: [], count: n + 1)

for _ in 0..<m {
  let v = readLine()!.split(separator: " ").map { Int($0)! }
  links[v[0]].append(v[1])
  links[v[1]].append(v[0])
}

var result = 0
var isSuccess = false

func dfs(start: Int, count: Int) {
  visited[start] = true
  if start == finish {
    result = count
    isSuccess = true
    return
  }
  
  for i in links[start] {
    if !visited[i] {
      dfs(start: i, count: count + 1)
    }
  }
}

dfs(start: start, count: 0)
result = isSuccess ? result : -1
print(result)

'코테' 카테고리의 다른 글

[DFS] 백준 1707번: 이분 그래프(Swift)  (0) 2022.11.11
[DFS + DP] 백준 1520번: 내리막길(Swift)  (0) 2022.11.11
[BFS] 백준: 영역 구하기(Swift)  (0) 2022.11.08
[DFS] 백준 11725번: 트리의 부모 찾기(Swift)  (0) 2022.11.07
[DFS] 백준 1987번: 알파벳(Swift)  (0) 2022.11.02
'코테' 카테고리의 다른 글
  • [DFS] 백준 1707번: 이분 그래프(Swift)
  • [DFS + DP] 백준 1520번: 내리막길(Swift)
  • [BFS] 백준: 영역 구하기(Swift)
  • [DFS] 백준 11725번: 트리의 부모 찾기(Swift)
Esiwon
Esiwon
iOS 개발 블로그
  • Esiwon
    시원한 코드 기록
    Esiwon
  • 전체
    오늘
    어제
    • 분류 전체보기 (70)
      • iOS&Swift (24)
      • git & github (1)
      • 코테 (41)
      • 네부캠 회고 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    이분탐색
    브루트포스 알고리즘
    Swift
    알고리즘
    챌린지
    완전탐색
    코딩테스트
    photos
    Property wrapper
    ios
    Race Condition
    photoUI
    다이나믹 프로그래밍
    노드
    실버
    dfs
    BFS
    백준
    탐색
    Combine
    구현
    PhotoKit
    코테
    회고
    재귀
    GCD
    비동기
    그리디
    네부캠
    동시성
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Esiwon
[DFS] 백준 2644번: 촌수계산(Swift)
상단으로

티스토리툴바