미궁게임 더라비린스
[2020-11-07] 변형 스도쿠 Teferi 00:26:43 1,166 클리어 1명 참여 8명








30005640000

여러 가지 실험을 해 보면서 가장 먼저 알아채야 하는 것은 바로 3번 조건이 굉장히 빡세다라는 것입니다. 그래서 3번 조건을 만족하게 하는 것을 중심으로 풀이가 돌아가며, 1번조건을 보조로 활용하고, 2번 조건은 가끔 쓰는 식으로 되게 됩니다.


풀이가 상당히 길어서 3번 조건을 통해 칸을 채워나가는 부분이 대부분 생략되어있으나 몇 번 해보면 감이 잡히실 겁니다.


예를들어서 다음 3가지 예를 봅시다.



 


각 3개의 예시에서 화살표(=>) 오른쪽에 있는 것이 스도쿠의 일부분이고, 화살표 왼쪽에 있는 것이 오른쪽으로부터 유추 가능한 결과입니다.


첫 번째 예시를 보시면 만약 x표시가 안되어있는 3개의 칸에 숫자가 들어간다고 하면, 3개의 칸 중 어느 칸을 들어가더라고 왼쪽에서 추가로 표시된 3개의 칸은 같은 숫자가 들어가지 못함을 알 수 있습니다.


두 번째 예시도 마찬가지로 2개중 어느 칸에 숫자가 들어가도 왼쪽에 추가로 표시된 5개의 칸에는 같은 숫자가 들어가지 못하고요.


세 번째 예시의 경우 이미 숫자 하나를 알고있는 예시인데요(a로표기), 그 숫자를 중심으로 3칸 내를 지워버리면 저렇게 다음 3x3칸에서 같은 숫자가 들어갈 수 있는 곳이 2개밖에 안 남습니다.


보시다시피 조건 3이 이렇듯 상당히 빡세서 칸이 많이 비어있는 데도 숫자가 채워지는 경우가 빈번합니다.



그럼 이제 풀이를 시작할텐데요, 9x9에 있는 9개의 3x3 큰 정사각형 칸을 방향에 따라 N ,NE, E, SE, S, SW, W, NW, 중앙 큰칸 이라고 부르겠습니다.



1. 5 채우기


주어진 숫자가 딱 하나이니 그 숫자를 중심으로 풀어나가 봅시다. 일단 5가 들어갈 수 없는 부분을 다 x자로 표기하면 다음과 같이 됩니다.



굉장히 대칭적이죠. 여기서부터 노가다를 뛰어야 하는데요, 아주 획기적으로 시행횟수를 줄여주는 방법이 있으니 그것은 바로 대칭을 이용하는 것입니다.


N, E, S, W 방향 큰칸을 보시면 5가 들어갈 수 있는 칸이 각각 4개씩 보이실 겁니다. 이 4개 중 중앙에 가까운 2개 칸과 완전 바깥쪽의 2개 칸이 있는데요, 저희는 NESW큰칸 중 하나라도 중앙에 가까운 칸쪽에 5가 있는 경우와 모두 완전 바깥쪽에 있는 경우로 나눕니다. 


1.1 NESW큰칸 중 하나라도 중앙에 가까운 칸쪽에 5가 있는 경우


대칭성에 의해 아래 그림처럼 E큰칸 안의 중앙에 가까운 칸쪽 하나를 잡고 5라고 둡시다.



잘 보시면 NE 큰칸에서 5가 들어갈 수 있는 칸이 두가지 밖에 없습니다. 그 중 왼쪽이 5이면:

 



이런식으로 자연스럽게 다른 큰칸의 5도 다 채워지고요, 오른쪽이 5이면 조금 복잡하지만 마찬가지로 5가 다 채워집니다:




화살표로 논리전개를 표현했으나 조금 난잡할 수 있네요. 초반부분만 설명드리면 E큰칸의 5에 의해 W큰칸의 5는 아래 2칸에 존재하고 그래서 SW큰칸의 5가 될수 있는 부분이 5칸이 지워집니다. 그래서 맨 아래서 3번째 줄 중에서 5가 될 수 있는 칸이 SE큰칸의 저 위치밖에 안되게 되고, S큰칸의 오른쪽 2칸은 그래서 안되고 그걸로 N큰칸과 SW큰칸의 5를 채우는 그런 느낌입니다.



1.2 NESW큰칸 모두 완전 바깥쪽에 5가 있는 경우


일단 NESW큰칸의 각각의 4칸 중 중앙쪽에 있는 칸은 모두 x를 치고 시작합니다. 그러면 NESW의 5의 위치에 따라 NW, NE, SW, SE의 외곽 5칸은 5가 들어갈 수 없게 됩니다. 이 상태에서 NESW큰칸 중 하나를 잡아 5를 넣으면 나머지가 쫘라락 채워집니다.




모든 것을 종합해 보면 5가 들어갈 수 있는 위치는 다음 3 종류의 선 및 점대칭밖에 안된다는 것을 알 수 있습니다. 여기까지 오는데 3번 조건밖에 안썼지요? 이제 1번 조건을 쓸 차례입니다.




2. 4와 6 채워넣기


4, 6은 1번 조건에 의해 5의 근처에 올 수 없다는 점에 있어서 큰 제약을 받습니다. 위에서 구한 3가지 종류에 대해서 4와 6을 채워 넣다 보면 그 중 2 종류는 바로 안된다는 것을 알 수 있습니다.


또한 여기서 2번 조건도 쓰이는데요, 바로 4와 6은 절대 다른 대각선에 갈 수 없다는 것입니다. 왜냐하면 두 대각선 중 하나는 모두 홀수이니까요.


2.1 첫번쨰 케이스


5가 다음과 같은 케이스의 경우 5근처를 모두 x표시하고 4를 중앙큰칸에 넣어보면 바로 4 넣은 근처 큰칸에 4가 안들어감을 알 수 있습니다. 



2.2 두번쨰 케이스


이번에는 5가 다음과 같이 배열되어있다고 해봅시다. 90도 회전대칭이기 때문에 중앙큰칸 4가 들어갈 수 있는 4 칸 중 아무거나 잡고 4를 넣어도 됩니다. 그렇게 되면 3번 조건을 통해 가능한 4의 배열은 하나뿐이라는 것을 알 수 있습니다. 논리전개를 화살표를 통해 해놓았습니다. 어렵지 않으니 한번 해보세요.



그러나 4까지는 채워지는데 6이 문제입니다. 2번 조건에 의해 S큰칸에서 6은 4의 정반대 포지션에 놓이며 마찬가지 논리전개로 6은 4의 회전대칭인 점에 모두 놓이게 됩니다.



그러나 그것은 위 그림에서 표기한 부분이 겹치기 때문에 불가능합니다.



2.3 세번째 케이스


5가 대각선쪽으로 긴 다이아몬드 모양으로 채워넣어지는 케이스입니다. 이 케이스에서도 두개로 나눠서 작업합니다. 2번 조건에 의해서 4와 6이 같은 대각선에 놓이므로, 그 대각선이 5가 3개있는 대각선과 같은지 다른지에 따라 케이스를 2개로 나눌 수 있습니다.


2.3.1 중앙큰칸의 4, 6이있는 대각선과 5가 3개있는 대각선이 다를 경우


대칭성을 잃지 않고 중앙 큰칸에 4, 6을 채워넣고 3번 조건을 적용해보면 다음과 같이 4, 6을 좀 더 채워넣을 수 있습니다.


 




여기서 6이 들어갈 수 있는 부분을 o로 따로 표시하면:


다음과 같이 됩니다. 선대칭인 것 보이시나요? NE큰칸을 볼 때 맨 윗줄 3칸과 맨 오른쪽 3칸 둘 중 하나에는 무조건 6이 있는데, 선대칭이므로 둘 중 아무거나 가정해도 됩니다.


6이 맨 윗줄에 있다고 가정해봅시다. 그러면 자연스럽게 N큰칸과 NW큰칸의 6이 채워지고 N큰칸의 6위치에 의해 NE큰칸의 6은 맨 위쪽 오른쪽에 위치하게 됩니다. 그러면 나머지도 6도 자연스럽게 채워집니다.



4도 마찬가지로 왼쪽 아래에서 같은 로직을 적용 가능합니다. 그러나 그렇게 될 경우 위 사진에 표기된 것처럼 6과 4의 위치가 우하향대각선에서 겹치게 됩니다. 그러므로 모순.



2.3.2 중앙큰칸의 4, 6이있는 대각선과 5가 3개있는 대각선이 같을 경우


마찬가지로 4, 6을 채워넣으면 다음과 같은 모양이 나옵니다. 여기서 6이 될수있는 칸을 o로, 4가 될수있는칸을 세모로 표기해봅시다. 


 


 


잘 관찰해 보면 o이든 세모이든 딱 하나가 결정되면 나머지가 파바밧 하고 결정되는 것을 볼 수 있는데요, 그래서 각각 2개의 케이스밖에 없습니다. NW큰칸과 SE큰칸에서 각각 6과 4를 고르는 위치가 우하향 대각선 기준으로 같은 방향에 있는지와 다른 방향에 있는지로요. 아직 모양이 선대칭임을 주목하세요. 그래서 각각 선대칭이 아닌경우, 선대칭일경우로 표현해겠습니다.


2.3.2.1 6, 4 포지션이 선대칭이 아닐경우 


대칭성에 의해 NW, SE큰칸에서 우하향대각선 기준 위쪽에 6과 4를 잡았습니다. 그리고 나서 4의 근처 칸을 표기하고 3을 채워 넣으면 아주 쉽게 채워넣어집니다. 그러나 2를 같은방법으로 채워넣으려고 하면 N칸에 채워넣을 공간이 없어서 모순이 됩니다.


 



2.3.2.1 6, 4 포지션이 선대칭일경우 



마찬가지로 3, 2, 7, .. 쭉쭉 채워 넣으시면 됩니다. 3번 조건에 의해 쉽게 되지면 혹시 막히실 까봐 처음 채워지는 칸을 표기해두었습니다.



 


이렇게 해서 보면 정답은 위 사진에 나온 것(의 대칭들)이 나옵니다. 중앙 5를 제외하고 모두 곱하면 답이 나옵니다.

댓글

Hyeyoon 2020-11-07 00:31 _
0
그는 신인가?
frigen 2020-11-07 00:39 _
0
만드는데 3일걸렸는데 풀리는데 30분걸린거 실화입니까?