結果
問題 |
No.3 ビットすごろく
|
ユーザー |
![]() |
提出日時 | 2018-05-03 20:41:53 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 935 bytes |
コンパイル時間 | 167 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 17,532 KB |
最終ジャッジ日時 | 2024-06-28 00:49:39 |
合計ジャッジ時間 | 8,071 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 6 WA * 3 TLE * 1 -- * 23 |
ソースコード
if __name__ == '__main__': count = 0 N = int(input()) is_visited = [False for i in range(N+1)] is_reached = False # 根ノードをqueに加え,訪問済みにする que = [1] is_visited[1] = True while len(que) != 0: is_deadend = True node_now = que.pop(0) is_visited[node_now] = True count += 1 if node_now == N: is_reached = True break else: step = bin(node_now).count("1") if node_now + step <= N and is_visited[node_now + step] is False: que.append(node_now + step) is_deadend = False if node_now - step >= 1 and is_visited[node_now - step] is False: que.append(node_now - step) is_deadend = False if is_deadend: count -= 1 if is_reached: print(count) else: print(-1)