[DFS] 백준: 바이러스(Swift)

2022. 10. 20. 18:21·코테

난이도: 실버3

사용 언어: Swift

카테고리: DFS

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

2606번: 바이러스

첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어

www.acmicpc.net

code
var n: Int = 0
var m: Int = 0

for i in 0..<2 {
  if i == 0 {
    n = Int(readLine()!)!
  } else {
    m = Int(readLine()!)!
  }
}

var link = Array(repeating: Array(repeating: false, count: n + 1), count: n + 1)
var visited = Array(repeating: false, count: n + 1)
var result = 0

for _ in 0..<m {
  let value = readLine()!.split(separator: " ").map { Int(String($0))! }
  link[value[0]][value[1]] = true
  link[value[1]][value[0]] = true
}

func dfs(start: Int) {
  visited[start] = true
  
  for i in 1...n {
    if visited[i] == false && link[start][i] {
      visited[i] = true
      result += 1
      dfs(start: i)
    }
  }
}

dfs(start: 1)
print(result)

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

[BFS] 백준: 적록색약(Swift)  (0) 2022.10.29
[BFS] 백준: 섬의 개수(Swift)  (0) 2022.10.27
[DFS]백준: 연결 요소의 개수(Swift)  (0) 2022.10.25
[BFS] 백준: 유기농 배추(Swift)  (0) 2022.10.24
[BFS] 백준: 단지번호붙이기(Swift)  (0) 2022.10.20
'코테' 카테고리의 다른 글
  • [BFS] 백준: 섬의 개수(Swift)
  • [DFS]백준: 연결 요소의 개수(Swift)
  • [BFS] 백준: 유기농 배추(Swift)
  • [BFS] 백준: 단지번호붙이기(Swift)
Esiwon
Esiwon
iOS 개발 블로그
  • Esiwon
    시원한 코드 기록
    Esiwon
  • 전체
    오늘
    어제
    • 분류 전체보기 (70)
      • iOS&Swift (24)
      • git & github (1)
      • 코테 (41)
      • 네부캠 회고 (4)
  • 블로그 메뉴

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

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Esiwon
[DFS] 백준: 바이러스(Swift)
상단으로

티스토리툴바