結果
| 問題 | No.2 素因数ゲーム |
| コンテスト | |
| ユーザー |
scaler
|
| 提出日時 | 2024-08-31 15:20:41 |
| 言語 | Scala(Beta) (3.8.1) |
| 結果 |
AC
|
| 実行時間 | 496 ms / 5,000 ms |
| コード長 | 617 bytes |
| 記録 | |
| コンパイル時間 | 10,460 ms |
| コンパイル使用メモリ | 262,608 KB |
| 実行使用メモリ | 56,904 KB |
| 最終ジャッジ日時 | 2026-03-09 20:12:21 |
| 合計ジャッジ時間 | 23,803 ms |
|
ジャッジサーバーID (参考情報) |
judge3_1 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 31 |
ソースコード
import scala.io.StdIn.readLine
import scala.collection.mutable.Map
@main
def yuki2(): Unit =
val n = readLine.toInt
val factorsMap = primeFactorization(n)
var ret: Int = 0
for (_, v) <- factorsMap do ret ^= v
println(if ret == 0 then "Bob" else "Alice")
def primeFactorization(n: Int): Map[Int, Int] =
val factors = Map[Int, Int]()
var num = n
while num % 2 == 0 do
factors(2) = factors.getOrElse(2, 0) + 1
num /= 2
var divisor = 3
while num > 1 do
while num % divisor == 0 do
factors(divisor) = factors.getOrElse(divisor, 0) + 1
num /= divisor
divisor += 2
factors
scaler