새소식

재미

[puzzle][slither-link] 문제 푸는 공식(작성중)

  • -

소개

slither link 는 Fences 또는 Loop the Loop 라고도 알려져 있는 퍼즐 게임입니다.

 

먼저 루프(loop) 라는게 고리 모양을 뜻하고 이 고리를 따라가면 길을 반복해서 가기 때문에 반복의 의미도 갖게 되었습니다.

위와 같은 모양은 무한 반복문(infinite loop) 의 상징처럼 사용되죠.

이 퍼즐에서는 다음과 같은 상태를 만드는게 목표입니다.

 

위의 무한 반복과 비교하면 교차되지 않는 단 한 개의 이어진 선의 모임입니다.

보통 위와 같이 격자 형태의 평면이 주어지고 점 4개로 둘러쌓인 칸에 숫자가 들어가 있기도 합니다.

문제를 다 풀면 위와 같이 그려지게 됩니다.

기본 규칙

1. 숫자 주위에는 숫자 만큼의 선분(점1개와 인접한 점1개를 이은 직선, 대각선은 인정 안됨)이 반드시 이어져 있어야 합니다.

숫자가 없는 칸은 갯수가 상관이 없습니다.

한 칸은 선이 한 개도 없을 수도 있고 최대 3개의 선이 올 수도 있습니다.
4개가 되면 자체로 1개의 최소 루프가 되버려서 퍼즐을 풀 수가 없습니다.

2. 이어진 형태는 1개의 루프(loop) 만 허용됩니다.
위 정답 그림이 좀 찌그러졌지만 하나의 원이라고 본다면 아래처럼 2개 이상의 원(여기서는 루프)이 존재하면 안된다는 말입니다.

3. 교차하는 선도 안됩니다. 길로 치면 3거리, 4거리는 안된다는 뜻입니다.

안됨. 3거리 모양 

 

안됨. 4거리 모양

 

 

 

공식

※원리를 설명하려다 보니 손이 엄청 많이 갑니다. 조금씩 아는 것을 추가하는 방향으로 이 페이지를 작성하겠습니다.

 

이 퍼즐을 풀어나가다 보면 공식처럼 일일이 따져보지 않아도 보이게 되는 것이 있습니다. 물론 그렇게 쓰려면 왜 그렇게 되는지 이해하고 자주 비슷한 유형을 풀어봐야 공식처럼 사용이 됩니다.

1. 0과 3의 만남.

1.1. 0과 3이 직선으로 붙어 있는 경우

0이 확정적으로 선 하나를 없애주기 때문에 3의 다른 3개의 선이 결정됩니다.

1.2. 0과 3이 대각선으로 이웃한 경우

0과 3이 대각선으로 만나는 부분에 선 1개가 아니면(그림에서 작은 빨간색 x) 검은색 선이 더 이상 갈 수가 없습니다. 위의 기본규칙 1번 반드시 이어져 있어야 한다는 점을 어기게 됩니다.

 

 

 

그래서 0과 맞닿은 부분은 반드시 선이 2개 모두 와야 합니다.

 

 

1.3. 네 귀 끝에 있는 3

1.2 의 0과 3이 대각선으로 만날 때와 같은 원리로 네 귀의 끝에 있는 3의 선 2개를 확정할 수 있습니다.

평면 밖은 숫자가 올 수 없어서 0을 대각선과 마주보는 것과 동일한 효과를 같습니다.

2. 3과 다른 숫자의 만남

3은 선 한 개만 아니면 나머지 3개가 자동 확정되므로 0과 붙어있거나 같은 3끼리 붙어 있으면 힌트를 얻을 수 있습니다.

2.1. 3과 3이 직선으로 인접한 경우

3과 3이 만나는 쪽이 없으면(빨간색 x) 이 두 3을 잇는 선이 두번째로 작은 하나의 루프가 되어 다른 선을 이을 수가 없습니다. 그래서 3과 3 사이의 인접선(가운데 선)은 반드시 존재해야 합니다.

 

 

 

 

위 상태에서 양쪽 끝(서로 가장 먼쪽 선)이 아니라고(빨간색 x) 표시하면 나머지 2개 선이 자동 확정되는데

 

 

이때에는기본 규칙 3번 교차 안됨을 어기거나

 

 

교차 금지 규칙을 지키기 위해 한쪽 3을 먼저 그리면 다른 쪽 3은 그릴 수 있는 선이  2개 밖에 되지 않아 기본 규칙 1번 숫자가 그려진 칸은 반드시 그 숫자만큼 선이 있어야 한다는 것을 어기게 됩니다.

 

이러한 이유로 3이 직선으로 인접한 경우 인접한 가운데 선, 서로 가장 먼 끝 선은 반드시 존재해야 합니다.

 

 

만약에 이 상태에서 가운데 선이 윗 3이나 아랫쪽 3을 감싸는 선이 아닌 밖으로 나가면 어떻게 될까요?

 

 

이러면 2개 이상의 선이 이어졌을 때 교차 금지 규칙 때문에 다른 선을 그릴 수 없게 되고

 

 

기본 규칙 1번 숫자 개수 규칙에 의해 3의 나머지 선을 그리면 결국 교차 금지 규칙을 어기게 됩니다.

 

 

그러므로 직선으로 인접한 3과 3의 가운데 선 양쪽은 절대 이어지면 안됩니다.

 

 

2.2. 3과 3이 대각선으로 만난 경우

아래처럼 한쪽 3(왼쪽 위)의 오른쪽 아래 선 2개를 모두 이으면 대각선으로 인접한 다른 3(오른쪽 아래)은 선 2개가 탈락해서 숫자 3을 위반하게 됩니다.

왼쪽 위 선 2개 중 1개만 맞는 경우에 이렇게 생기겠죠?

반대로 해도 마찬가지 입니다.

오른쪽 아래 3의 왼쪽 위 선 2개를 이으면 위 왼쪽 3의 선 2개가 탈락해서 숫자 3을 위반하게 됩니다.

오른쪽 아래 3의 오른쪽 아래 선 2개 중 1개만 맞는 경우에 이렇게 생기겠죠?

이런 이유로 3과 3이 대각선으로 맞닿은 경우에는 서로 맞닿는 부분의 선은 반드시 1개만 존재해야 인접한 3이 성립할 수 있습니다.

이걸 만족하려면 서로 반대쪽 선 2개는 항상 연결되어야 합니다.

 

2.3. 3과 2가 대각선으로 만난 경우

3과 3 대각선과 비슷한데 하나가 2인 것만 다릅니다. 3과 인접한 2의 선 2개가 모두 이어지면 아래 3은 선 2개밖에 이을 수 없어서 숫자 3 규칙을 위반합니다.

그래서 이 2의 선을 이렇게 채우면 안됩니다.

2의 오른쪽 아래 선 2개 중 1개만 잇거나 아무것도 있지 않아야 합니다.

 

2.4. 3과 3이 대각선으로 한 칸 이상 떨어져 있는데 그 대각선 경로에 2만 있는 경우

이 상황은 3과 3이 대각선으로 만난 경우와 3과 2가 대각선으로 만난 경우가 섞여 있습니다.

위와 유사하게 오른쪽 위 3의 왼쪽 아래 선 2개를 이으면 왼쪽 아래 3의 규칙을 위반하게 됩니다.

 

반대 방향도 마찬가지이구요.

 

 

 

3과 3만 대각선으로 이웃한 상황과 유사하게 서로 반대방향 선 2개를 이어주면 됩니다.

 

 

 

대각선 경로에 2개 2개 이상이어도 같은 원리입니다.

 

 

 

맨 끝 3의 서로 반대 방향 선 2개만 확정입니다.

 

 

 

2.5. 3과 1이 구석지에서 직선으로 만난 경우

 

구석지에서 3과 1이 직선으로 만난 경우에는 1의 3반대쪽 선과 

 

구석지에서 먼 쪽 선을 이으면 그림에서 보시다시피 3의 왼쪽 선이 더 이상 갈 곳이 없어집니다.

그러므로 이 두 경우에는 절대 이으면 안됩니다.

 

1과 3 사이의 선을 이어주거나

 

 

구석지와 평행한 선을 이어주어야 합니다.

 

 

3. 2와 2가 대각선으로 만난 경우

4. 1과 0이 만난 경우

5. 루프 제약 조건 따지기

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.