1. 문제 요약https://www.acmicpc.net/problem/20166N×M 격자에서 시작8방향 이동 가능 (대각선 포함)환형 구조 (wrap-around)→ 경계 넘어가면 반대편으로 이동같은 칸 재방문 가능문자열을 만들고, 주어진 K개의 문자열에 대해 경우의 수 계산1. 처음 접근 (DFS + 문자열마다 탐색)처음에는 이렇게 풀었다:for god_like in god_likes: for 모든 시작점: DFS로 문자열 생성2. 문제점문자열마다 DFS 수행 → 중복 탐색 발생같은 경로를 계속 다시 탐색K 최대 1000 → 시간초과3. 깨달음이 문제는 이렇게 풀면 안 된다:❌ "문자열이 주어졌으니까 → 찾아야지"대신 이렇게 바꿔야 한다:✅ "만들 수 있는 문자열을 전부 만들어놓고 → 조회하자" ..