結果
| 問題 |
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() {}
}