1class Solution:2def queensAttacktheKing(3self, queens: List[List[int]], king: List[int]4) -> List[List[int]]:5ans = []6d = {(i[0], i[1]): True for i in queens}78def goUp(r, c):9while r >= 0:10if (r, c) in d:11ans.append([r, c])12break13r -= 11415def goDown(r, c):16while r < 8:17if (r, c) in d:18ans.append([r, c])19break20r += 12122def goLeft(r, c):23while c >= 0:24if (r, c) in d:25ans.append([r, c])26break27c -= 12829def goRight(r, c):30while c < 8:31if (r, c) in d:32ans.append([r, c])33break34c += 13536def goD1(r, c):37while r >= 0 and c >= 0:38if (r, c) in d:39ans.append([r, c])40break41r -= 142c -= 14344def goD2(r, c):45while r < 8 and c >= 0:46if (r, c) in d:47ans.append([r, c])48break49r += 150c -= 15152def goD3(r, c):53while r < 8 and c < 8:54if (r, c) in d:55ans.append([r, c])56break57r += 158c += 15960def goD4(r, c):61while r >= 0 and c < 8:62if (r, c) in d:63ans.append([r, c])64break65r -= 166c += 16768goUp(king[0], king[1])69goDown(king[0], king[1])70goLeft(king[0], king[1])71goRight(king[0], king[1])72goD1(king[0], king[1])73goD2(king[0], king[1])74goD3(king[0], king[1])75goD4(king[0], king[1])7677return ans