문제링크
class Solution {
func Function() {
var m: Int = 0
var numberOfKnown: Int = 0
var known: [Int] = []
var parties: [[Int]] = []
if let input = readLine() {
if input != "" {
m = Int(input.split(separator: " ")[1]) ?? 0
}
}
if let input = readLine() {
numberOfKnown = Int(input.split(separator: " ")[0])!
if numberOfKnown > 0 {
known = input.split(separator: " ").map( { Int($0)! } )
}
}
let _ = known[known.startIndex...].popFirst()
for _ in 0..<m {
if let input = readLine() {
var party = input.split(separator: " ").map( { Int($0)! } )
let _ = party[party.startIndex...].popFirst()
parties.append(party)
}
}
var setKnown = Set(known)
for _ in 0..<m {
for party in parties {
let setParty = Set(party)
let interSet = setParty.intersection(setKnown)
if !interSet.isEmpty {
setKnown = setKnown.union(setParty)
}
}
}
var count: Int = 0
for party in parties {
let setParty = Set(party)
let interSet = setParty.intersection(setKnown)
if interSet.isEmpty {
count += 1
}
}
print(count)
}
}