結果
問題 |
No.3 ビットすごろく
|
ユーザー |
|
提出日時 | 2018-08-12 09:44:19 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 28 ms / 5,000 ms |
コード長 | 370 bytes |
コンパイル時間 | 179 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 6,912 KB |
最終ジャッジ日時 | 2024-07-01 09:04:45 |
合計ジャッジ時間 | 1,696 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 33 |
ソースコード
n = int(input()) visited = [-1 for i in range(n+1)] q = [[1,1]] visited[0] = 1 visited[1] = 1 while q : p , i = q.pop(0) if p == n: print i quit() a = p + bin(p).count("1") if a < n + 1 and visited[a] == -1: visited[a] = 1 q.append([a,i + 1]) b = p - bin(p).count("1") if 0 < b and visited[b] == -1: visited[b] = 1 q.append([b,i + 1]) print -1