結果
問題 |
No.1576 織姫と彦星
|
ユーザー |
![]() |
提出日時 | 2021-07-01 12:31:06 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 749 bytes |
コンパイル時間 | 146 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 85,136 KB |
最終ジャッジ日時 | 2024-06-28 01:39:35 |
合計ジャッジ時間 | 4,976 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 5 TLE * 1 -- * 48 |
ソースコード
from collections import deque def hamming_distance(a: int, b: int) -> int: x = a ^ b return bin(x)[2:].count("1") def visit(visited, idx): return visited ^ (1 << idx) def isvisited(visited, idx): return (visited >> idx) & 1 n = int(input()) start, end = map(int, input().split(" ")) stones = list(map(int, input().split(" "))) que = deque([]) que.append((0, start, 0)) while len(que): cnt, now, visited = que.popleft() if hamming_distance(now, end) == 1: print(cnt) break for i in range(n): stone = stones[i] if isvisited(visited, i): continue if hamming_distance(now, stone) == 1: que.append((cnt+1, stone, visit(visited, i))) else: print(-1)