[BOJ 17489, Python 3] 보물 찾기

[BOJ 17489, Python 3] 보물 찾기

def go(x, y, size, val):

global ans

visit[x][y] = 1

if size % len (s) = = 0 and val > ans[ 0 ]: ans = [val, x, y]

for i in range ( 4 ):

nx, ny = x + dx[i], y + dy[i]

if 0 < = nx < n and 0 < = ny < m and MAP[nx][ny] = = s[size % len (s)]:

if visit[nx][ny] and size % len (s) = = 0 : print ( - 1 ); exit()

go(nx, ny, size + 1 , val if size % len (s) else val + 1 )

visit[x][y] = 0

import sys

sys.setrecursionlimit( 100000 )

dx, dy = [ 1 , - 1 , 0 , 0 ], [ 0 , 0 , 1 , - 1 ]

n, m, l = map( int , input().split())

s = input()

MAP = [input() for _ in range (n)]

visit = [[ 0 ] * m for _ in range (n)]

ans = [ - 1 , - 1 , - 1 ]

go( 0 , 0 , 1 , 1 )

if ans[ 0 ] ! = - 1 : print (f '{ans[0]}

{ans[1]+1} {ans[2]+1}' )

from http://hello70825.tistory.com/318 by ccl(A) rewrite - 2021-09-01 20:01:35