結果
| 問題 |
No.7 プライムナンバーゲーム
|
| コンテスト | |
| ユーザー |
keib
|
| 提出日時 | 2019-03-06 19:54:05 |
| 言語 | Swift (6.0.3) |
| 結果 |
AC
|
| 実行時間 | 14 ms / 5,000 ms |
| コード長 | 649 bytes |
| コンパイル時間 | 3,880 ms |
| コンパイル使用メモリ | 182,136 KB |
| 実行使用メモリ | 16,000 KB |
| 最終ジャッジ日時 | 2024-10-01 16:18:09 |
| 合計ジャッジ時間 | 2,647 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 17 |
ソースコード
import Foundation
let n = Int(readLine()!)!
let primes = { () -> [Int] in
var multiples = Set<Int>()
return (2 ..< n).filter { i in
if i == 2 {
return true
}
if i % 2 == 0 {
return false
}
if multiples.contains(i) {
return false
}
var m = 3
while i * m < n {
multiples.insert(i * m)
m += 2
}
return true
}
}()
var dp: [Bool] = [true, true]
for i in 2 ... n {
var found = false
for p in primes {
if p > i {
break
}
if !dp[i - p] {
found = true
break
}
}
dp.append(found)
}
if dp[n] {
print("Win")
} else {
print("Lose")
}
keib