結果
問題 |
No.3 ビットすごろく
|
ユーザー |
|
提出日時 | 2019-02-03 11:01:41 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 730 bytes |
コンパイル時間 | 99 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 11,264 KB |
最終ジャッジ日時 | 2024-12-16 00:48:43 |
合計ジャッジ時間 | 2,305 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 WA * 15 |
ソースコード
from collections import deque def countbinary(x): return bin(x).count("1") n = int(input()) a = 1 list2 = [] flag = [] q = deque([]) for num2 in range(0,n+1): list2.append(10000000) flag.append(False) list2[1] = 1 q.append(1) judge = True while judge: judge = False a = q.pop() num = int(countbinary(a)) flag[a] = True if a - num > 0 and (flag[a-num] is False): list2[a-num]=min(list2[a]+1,list2[a-num]) judge = True num3 = a - num q.append(num3) if a + num <= n and (flag[a+num] is False): list2[a+num]=min(list2[a] +1,list2[a+num]) num4 = a + num judge = True q.append(num4) if flag[n]: print(list2[n]) else: print(-1)