結果
| 問題 | No.3 ビットすごろく |
| コンテスト | |
| ユーザー |
Kgm1500
|
| 提出日時 | 2018-05-03 20:41:53 |
| 言語 | Python3 (3.14.3 + numpy 2.4.4 + scipy 1.17.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 935 bytes |
| 記録 | |
| コンパイル時間 | 554 ms |
| コンパイル使用メモリ | 20,600 KB |
| 実行使用メモリ | 31,184 KB |
| 最終ジャッジ日時 | 2026-03-16 08:34:40 |
| 合計ジャッジ時間 | 86,397 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 10 WA * 11 TLE * 12 |
ソースコード
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)
Kgm1500