結果

問題 No.3 ビットすごろく
ユーザー daleksprinter
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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

0