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()