提交时间:2026-06-17 06:46:30

运行 ID: 91820

def can_win(remaining, last): # 遍历所有剩下的牌 for i in range(len(remaining)): v = remaining[i] # 必须满足约数/倍数 if last is not None and not (v % last == 0 or last % v == 0): continue # 拿走这张 new_rem = remaining[:i] + remaining[i+1:] # 对手必败,则我必胜 if not can_win(new_rem, v): return True # 无牌可走,败 return False # 读取输入 all_cards = list(map(int, input().split())) candidates = list(map(int, input().split())) res = [] for num in candidates: # 找到第一个 num 拿走 try: idx = all_cards.index(num) except ValueError: continue rem = all_cards[:idx] + all_cards[idx+1:] if can_win(rem, num): res.append(num) if not res: print(-1) else: print(min(res))