B - Bingo
B - Bingo
O(N) 実装問題です。
import math import heapq import itertools from functools import reduce # main def main(): A = [] Field = [[False] * 3, [False] * 3, [False] * 3] for i in range(0, 3): a = list(map(int, input().split())) A.append(a) N = int(input()) B = [0] * N for i in range(0, N): B[i] = int(input()) for b in B: for i in range(3): for j in range(3): if A[i][j] == b: Field[i][j] = True bingo = False if Field[0][0] and Field[1][1] and Field[2][2]: bingo = True if Field[0][2] and Field[1][1] and Field[2][0]: bingo = True for i in range(3): if Field[i][0] and Field[i][1] and Field[i][2]: bingo = True for i in range(3): if Field[0][i] and Field[1][i] and Field[2][i]: bingo = True if bingo: print("Yes") else: print("No") # エントリポイント if __name__ == '__main__': main()