<div class="chatlog__message-group"> <div id="chatlog__message-container-1064182968131780678" class="chatlog__message-container" data-message-id="1064182968131780678"> <div class="chatlog__message"> <div class="chatlog__message-aside"><img class="chatlog__avatar" src="https://cdn.discordapp.com/avatars/679492030556143654/72cc2a66c6b054156a6ef90df41705b8.png?size=512" alt="Avatar" loading="lazy"></div> <div class="chatlog__message-primary"> <div class="chatlog__header"><span class="chatlog__author" title="log5" data-user-id="679492030556143654">log5</span> <a href="/channels/763427634179735592?category=main&channel=atcoder&message_id=1064182968131780678"><span class="chatlog__timestamp" title="Sunday, January 15, 2023 2:03 PM"></span></a><a href="#chatlog__message-container-1064182968131780678">1/15/2023 2:03 PM</a></div> <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve"><span class="chatlog__markdown-mention" title="swift57#4949">@swift-5.7.3</span> <span class="chatlog__markdown-mention" title="swift52#7242">@swift-5.2.5</span> <code class="chatlog__markdown-pre chatlog__markdown-pre--multiline language-swift">import Foundation func task() -> Bool { let N = 2 let S = ["b", "m"] let T = ["m", "d"] var ans = true var words = Set<String>() var g = [String: String]() for i in 0..<N { g[S[i]] = T[i] words.insert(S[i]) words.insert(T[i]) } var done = Set<String>() var seen = Set<String>() func rec(_ v: String) { seen.insert(v) guard let next = g[v] else { return } if seen.contains(next) { if !done.contains(next) { ans = false return } } rec(next) done.insert(v) } for v in words where !seen.contains(v) { rec(v) } return ans } func task2() { var TRUE = 0, FALSE = 0 for _ in 0..<10000 { switch task() { case true: TRUE += 1 case false: FALSE += 1 } } print("TRUE: \(TRUE), FALSE: \(FALSE)") } for _ in 0..<10 { task2() }</code></span></div> </div> </div> </div> </div>