結果
問題 |
No.3 ビットすごろく
|
ユーザー |
![]() |
提出日時 | 2016-02-25 22:51:08 |
言語 | D (dmd 2.109.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 679 bytes |
コンパイル時間 | 795 ms |
コンパイル使用メモリ | 108,160 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-12 03:07:14 |
合計ジャッジ時間 | 1,833 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 WA * 15 |
ソースコード
import std.stdio, std.conv, std.string, std.range, std.math, std.bigint, std.algorithm, core.bitop; void main() { auto N = readln.strip.to!int; //auto dice = 1.iota(N + 1).map!(a => iota(a.to!real.log2.floor.to!int+1).map!(i => (a>>i)&1).sum).array; auto dice = 1.iota(N + 1).map!(e => popcnt(e)).array; int dfs(int i, int c) { if (dice[i] == 0) return -1; if (i == N - 1) return c; auto tmp = dice[i]; dice[i] = 0; if (i + tmp >= N) return dfs(i - tmp, c + 1); return dfs(i + tmp, c + 1); } dfs(0, 1).writeln; }