๐Ÿ’ป Algorithm/Swift

[Swift] ๋ฐฑ์ค€ 2606 ๋ฐ”์ด๋Ÿฌ์Šค (Graph Traversal)

์„ ์ฃผ 2023. 1. 31. 22:44

 

๐Ÿ“Œ ํ’€์ด

๐Ÿ’ฌ Code

let n = Int(readLine()!)!
let m = Int(readLine()!)!

var graph = Array<[Int]>(repeating: [], count: n+1)
var visited = Array<Bool>(repeating: false, count: n+1)

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

func dfs(start: Int) {
    visited[start] = true
    for i in graph[start] {
        if !visited[i] {
            dfs(start: i)
        }
    }
}

dfs(start: 1)
print(visited.filter{$0}.count - 1)

 

 

 

2606๋ฒˆ: ๋ฐ”์ด๋Ÿฌ์Šค

์ฒซ์งธ ์ค„์—๋Š” ์ปดํ“จํ„ฐ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ปดํ“จํ„ฐ์˜ ์ˆ˜๋Š” 100 ์ดํ•˜์ด๊ณ  ๊ฐ ์ปดํ“จํ„ฐ์—๋Š” 1๋ฒˆ ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ปดํ“จํ„ฐ ์Œ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด

www.acmicpc.net