結果
問題 |
No.639 An Ordinary Sequence
|
ユーザー |
|
提出日時 | 2020-07-07 00:29:55 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 1 ms / 1,000 ms |
コード長 | 688 bytes |
コンパイル時間 | 13,180 ms |
コンパイル使用メモリ | 389,140 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-25 00:14:35 |
合計ジャッジ時間 | 14,258 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 17 |
ソースコード
use std::collections::HashMap; fn calc(n: usize, dp: &mut HashMap<usize, usize>) -> usize { if dp.get(&n).is_some() { return *dp.get(&n).unwrap(); } let a3 = calc(n/3, dp); if !dp.contains_key(&(n/3)) { dp.insert(n, a3); } let a5 = calc(n/5, dp); if !dp.contains_key(&(n/5)) { dp.insert(n/5, a5); } if !dp.contains_key(&n) { dp.insert(n, a3+a5); } a3+a5 } fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let n: usize = n.trim().parse().unwrap(); let mut result: HashMap<usize, usize> = HashMap::new(); result.insert(0, 1); println!("{:?}", calc(n, &mut result)); }