def run(self):
self._initialize_kernel()
while len(self._candidate_pieces) > 0:
_, (position, piece_id), relative_piece = heapq.heappop(self._candidate_pieces)
if position in self._taken_positions:
continue
# If piece is already placed, find new piece candidate and put it back to
# priority queue
if piece_id in self._kernel:
self.add_piece_candidate(relative_piece[0], relative_piece[1], position)
continue
self._put_piece_to_kernel(piece_id, position)
评论列表
文章目录