[AlgoSpot] boggle.py

전영서·2021년 8월 27일
0

Algorithm

목록 보기
8/89

1.문제

2.코드

## Number of cases
C = int(input())

def fword(x, y, wrd) :
    if x<0 or x>4 or y<0 or y>4 :
        return False

    if lst[x][y] != wrd[0] :
        return False
    #print(wrd)
    if len(wrd) == 1 :
        return True
    
    for i, j in zip(dy, dx) :
        if fword(x+i, y+j, wrd[1:]) :
            return True
        #print(wrd)
    return False        


for Case in range(C) :
    lst = list()
    
    for i in range(5) :
        lst.append(input())
    print(lst)
    dy = [-1, -1, -1, 1, 1, 1, 0, 0]
    dx = [-1, 0, 1, -1, 0 ,1, -1, 1]

    ## number of word 
    N = int(input())
    word = list()
    for j in range(N) :
        word.append(input())
        check = 0
        
        for x in range(5) :
            for y in range(5) :
                if fword(x, y, word[j]) :
                    print(word[j], "YES")
                    check = 1
                    break
            if check == 1 :
                break
        if check == 1 :
            continue 
        print(word[j],"NO")   

3.Review

예전의 나는 공부하기 싫엇나 보다..

profile
꾸준히 성실하게

0개의 댓글