미로 만들기
이 도구는 재귀 백트래킹이라 부르는 깊이 우선 탐색으로 미로를 만듭니다. 어느 칸에서 어느 칸으로 가든 길이 딱 하나라서 왼쪽 위 입구에서 오른쪽 아래 출구까지 가는 길도 하나뿐입니다.
사용 방법
- 어린아이용 10×10부터 오래 붙잡고 풀 40×40까지 크기를 고르고 새 미로를 누릅니다.
- 정답 경로 보기를 누르면 왼쪽 위 입구에서 오른쪽 아래 출구까지 가는 길이 나타납니다. 다시 누르면 숨겨집니다.
- 인쇄를 누르면 미로만 인쇄됩니다. 답지가 필요하면 정답 경로를 먼저 켜 두세요.
- 미로마다 번호가 있습니다. 나중에 같은 번호와 크기를 넣거나 링크를 공유하면 똑같은 미로가 다시 나옵니다.
계산 방법
미로는 재귀 백트래킹, 곧 깊이 우선 탐색으로 팝니다. 벽이 모두 닫힌 상태에서 무작위 칸 하나를 출발점으로 삼고, 아직 가 보지 않은 옆 칸을 무작위로 골라 그 사이 벽을 허물며 나아갑니다. 더 갈 곳이 없는 칸에 닿으면 왔던 길을 되짚어 아직 안 가 본 이웃이 있는 칸을 찾습니다.
모든 칸을 한 번씩 들르고 한 걸음마다 벽을 하나만 열기 때문에 순환이 없는 완전 미로가 됩니다. 모든 칸이 이어져 있고 통로는 정확히 (칸 수 - 1)개이며, 어떤 두 칸 사이에도 길은 하나입니다. 이 방식은 갈림길이 적고 길게 구불구불한 통로가 잘 생깁니다.
정답은 입구에서 시작하는 너비 우선 탐색으로 찾아 가장 짧은 길을 냅니다. 완전 미로는 길이 하나뿐이니 그 길이 곧 정답입니다.
미로 번호는 유사 난수 생성기의 시드입니다. 시드와 크기가 같으면 늘 같은 미로가 나오므로 번호만 알려 줘도 미로를 공유할 수 있습니다.
미로 크기
| 크기 | 칸 수 | 알맞은 대상 |
|---|---|---|
| 10×10 | 100 | 유아 |
| 15×15 | 225 | 초등 저학년 |
| 20×20 | 400 | 가볍게 즐기는 퍼즐 |
| 30×30 | 900 | 청소년과 어른 |
| 40×40 | 1,600 | 오래 푸는 도전용, 종이를 꽉 채워 인쇄 추천 |
자주 묻는 질문
모든 미로에 답이 있나요?
네. 모든 칸이 이어져 있고 왼쪽 위 입구와 오른쪽 아래 출구가 열려 있습니다. 둘 사이의 길은 정확히 하나입니다.
아이에게는 어떤 크기가 좋나요?
유아는 10×10, 초등학생은 15×15나 20×20이 알맞습니다. 30×30과 40×40은 어른에게도 만만치 않습니다. 큰 미로는 종이 한 장을 꽉 채워 인쇄하세요.
같은 미로를 다시 만들 수 있나요?
네. 미로 번호와 크기를 기억해 두거나 링크를 공유하세요. 같은 번호와 크기를 넣으면 언제나 같은 미로가 나옵니다.
왜 길이 길고 구불구불한가요?
재귀 백트래킹은 되돌아가기 전까지 최대한 깊이 들어가기 때문에 다른 방식보다 통로가 길고 짧은 막다른 길이 적습니다.
업로드되는 것이 있나요?
아니요. 미로는 브라우저 안에서 만들고 그립니다.