結果
問題 |
No.3 ビットすごろく
|
ユーザー |
|
提出日時 | 2024-07-30 11:35:15 |
言語 | Rust (1.83.0 + proconio) |
結果 |
WA
|
実行時間 | - |
コード長 | 985 bytes |
コンパイル時間 | 12,624 ms |
コンパイル使用メモリ | 402,088 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-30 11:35:29 |
合計ジャッジ時間 | 13,187 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 WA * 14 |
コンパイルメッセージ
warning: unused import: `std::collections::HashMap` --> src/main.rs:1:5 | 1 | use std::collections::HashMap; | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default warning: unused import: `proconio::marker::Chars` --> src/main.rs:3:5 | 3 | use proconio::marker::Chars; | ^^^^^^^^^^^^^^^^^^^^^^^
ソースコード
use std::collections::HashMap; use proconio::marker::Chars; fn main() { proconio::input! { n: usize, } let mut tbl = vec![-1; n + 1]; tbl[1] = 1; loop { let mut changed = false; let mut i = 1i64; while i <= n as i64 { if tbl[i as usize] != -1 { let move_ofs = i.count_ones() as i64; if i - move_ofs >= 1 && tbl[(i - move_ofs) as usize] == -1 { tbl[(i - move_ofs) as usize] = tbl[i as usize] + 1; changed = true; } if i + move_ofs <= n as i64 && tbl[(i + move_ofs) as usize] == -1 { tbl[(i + move_ofs) as usize] = tbl[i as usize] + 1; changed = true; } } i += 1; } if !changed { break; } } println!("{}", tbl[n]); } #[cfg(test)] mod test { use super::*; #[test] fn test() {} }