結果
問題 |
No.3 ビットすごろく
|
ユーザー |
![]() |
提出日時 | 2016-09-23 22:50:27 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 556 bytes |
コンパイル時間 | 371 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 42,496 KB |
最終ジャッジ日時 | 2024-11-17 20:11:57 |
合計ジャッジ時間 | 117,271 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 2 WA * 13 TLE * 18 |
ソースコード
n = int(input()) prev = [[n, []]] fastest = dict() end_flag = False c = 1 while len(prev) != 0: next = [] for p in prev: if p[0] == 1: print(c) end_flag = True break b = bin(p[0])[2:].count("1") for i in range(2): next_place = p[0] + b * (-1) ** i if next_place not in fastest or fastest[next_place] < c: if 1 <= next_place <= n and not next_place in p[1]: fastest[next_place] = c next.append([next_place, p[1] + [p[0]]]) if end_flag: break c += 1 prev = sorted(next, key = lambda x: x[0]) else: print(-1)