baekjoon 20251201
This commit is contained in:
parent
e8ba701e3a
commit
11abda6b56
36
code_study/Baekjoon/swift/2252.swift
Normal file
36
code_study/Baekjoon/swift/2252.swift
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
if let input1 = readLine(),
|
||||||
|
let NM = input1.split(separator: " ").compactMap({Int($0)}) as? [Int],
|
||||||
|
let N = NM.first, let M = NM.last
|
||||||
|
{
|
||||||
|
var graph: [[Int]] = Array(repeating: [], count: N+1)
|
||||||
|
var inDegree = Array(repeating: 0, count: N+1)
|
||||||
|
|
||||||
|
for _ in 1...M {
|
||||||
|
guard let input2 = readLine(),
|
||||||
|
let uv = input2.split(separator: " ").compactMap({Int($0)}) as? [Int],
|
||||||
|
let u = uv.first, let v = uv.last
|
||||||
|
else { break }
|
||||||
|
|
||||||
|
graph[u].append(v)
|
||||||
|
inDegree[v] += 1
|
||||||
|
}
|
||||||
|
|
||||||
|
var qu: [Int] = []
|
||||||
|
var idx = 0
|
||||||
|
|
||||||
|
for n in 1...N {
|
||||||
|
if inDegree[n] == 0 { qu.append(n) }
|
||||||
|
}
|
||||||
|
|
||||||
|
while idx < qu.count {
|
||||||
|
let num = qu[idx]
|
||||||
|
idx += 1
|
||||||
|
|
||||||
|
for nxt in graph[num] {
|
||||||
|
inDegree[nxt] -= 1
|
||||||
|
if inDegree[nxt] == 0 { qu.append(nxt) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print(qu.map{ String($0) }.joined(separator: " "))
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user