結果

問題 No.103 素因数ゲーム リターンズ
ユーザー atcoder8
提出日時 2023-11-21 00:21:45
言語 Rust
(1.83.0 + proconio)
結果
AC  
実行時間 1 ms / 5,000 ms
コード長 1,483 bytes
コンパイル時間 13,506 ms
コンパイル使用メモリ 378,696 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-09-26 06:48:42
合計ジャッジ時間 14,679 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

fn main() {
let _n = {
let mut line = String::new();
std::io::stdin().read_line(&mut line).unwrap();
line.trim().parse::<usize>().unwrap()
};
let mm: Vec<_> = {
let mut line = String::new();
std::io::stdin().read_line(&mut line).unwrap();
line.split_whitespace()
.map(|x| x.parse::<usize>().unwrap())
.collect()
};
let mut xor = 0;
for m in mm {
for (_, exp) in prime_factorization(m) {
xor ^= exp % 3;
}
}
println!("{}", if xor != 0 { "Alice" } else { "Bob" });
}
/// Performs prime factorization of `n`.
///
/// The result of the prime factorization is returned as a
/// list of prime factor and exponent pairs.
///
/// # Examples
///
/// ```
/// assert_eq!(prime_factorization(1), vec![]);
/// assert_eq!(prime_factorization(12), vec![(2, 2), (3, 1)]);
/// assert_eq!(prime_factorization(19), vec![(19, 1)]);
/// assert_eq!(prime_factorization(27), vec![(3, 3)]);
/// ```
pub fn prime_factorization(n: usize) -> Vec<(usize, usize)> {
assert_ne!(n, 0, "`n` must be at least 1.");
let mut factors = vec![];
let mut t = n;
for p in 2.. {
if p * p > t {
break;
}
let mut e = 0;
while t % p == 0 {
t /= p;
e += 1;
}
if e != 0 {
factors.push((p, e));
}
}
if t != 1 {
factors.push((t, 1));
}
factors
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0