BOGGLE이라는 문제를 통해 처음으로 파이썬으로 코딩을 해봅니다.

  • 박청호
    박청호

    버전은 2.7.8 사용중입니다. IDLE, ideone에서는 별다른 에러없이 success하는데 알고스팟에서 채점을 하면 nonzero return code 라는 에러를 띄우네요. 해결 방법이 어떻게 될까요 ㅜㅜ?

    #hasWord : find word
    dx = [-1, -1, -1, 1, 1, 1, 0, 0]
    dy = [-1, 0, 1, -1, 0, 1, -1, 1]
    board_matrix = [[0 for col in range(5)] for row in range(5)]
    def hasWord(y, x, dic):
        global board_matrix
        if(y == 5 or x == 5): return False
        if(board_matrix[y][x] != dic[0]): return False
        if(len(dic) == 1): return True
        for direction in range(0, 8):
            nextY = y + dy[direction]
            nextX = x + dx[direction]
            if(hasWord(nextY, nextX, dic[1:])):
                return True
        return False
    #main
    test_number = int(raw_input())
    for i in range(0, test_number): 
        for i in range(0, 5):
            board_matrix[i] = raw_input()   
        dic_number = int(raw_input());
        dic_matrix = [[0 for col in range(dic_number)] for row in range(16)]
        for i in range(0, dic_number):
            dic_matrix[i] = raw_input()
    #    for i in range(0, 5):
    #        print word_matrix[i]
            chk = False
            for y in range(0, 5):
                for x in range(0, 5):                        
                    if(hasWord(y, x, dic_matrix[i])):
                        chk = True
            if(chk): print dic_matrix[i] + ' ' + "YES"
            else: print dic_matrix[i] + ' ' + "NO"
    

    10년 전
3개의 댓글이 있습니다.
  • VOCList
    VOCList

    hasWord 안에서 y 나 x 가 -1이 된 순간에 검사를 해야하지 않을까요?


    10년 전 link
  • 박청호
    박청호

    답변 감사합니다. 그런데 x, y들을 print해보면 -1이 되는 떄가 없네요 ㅜㅜ..


    10년 전 link
  • Kureyo
    Kureyo

    0,0 에서 시작하고 첫글자 맞으면 무조건 -1 로 들어가지않나요?


    10년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.