노노그램

노노그램 예시
'''노노그램'''(, )은 일본의 퍼즐 게임이다. 각각 적혀있는 숫자를 보면서 숨겨져 있는 숫자를 예상하여 지워나가면서 그림을 그리는 게임이다. NP-완전 문제이다. 한국에서는 '''네모네모로직'''이라고 불린다.
=== 숫자가 하나인 경우 ===
1개의 숫자는 연속해서 검게 칠하는 칸(이하 ‘검은 칸’)의 수를 나타내고 있다. 단, 위치까지 나타내고 있는 것은 아니다.
(예시
3
 
 
 
 
 
에 대해서는 다음의 3개의 가능성을 생각할 수 있다.
3
 
 
 
 
 
 
 
 
 
 
 
=== 숫자가 여러개인 경우 ===
==== ‘빈칸’에 대해서 ====
숫자가 둘 이상인 경우에 각각이 검은 칸의 수를 나타내며
사이에는 반드시 검게 칠하지 않은 칸(이하 ‘빈칸’)이 최소 하나가 들어간다.
단, 하얀 칸의 위치와, 검은 칸 사이에 얼마나 들어갈 지는 나타내고 있지 않다.
(예시1)
1
1
 
 
 
 
 
에 대해서는 여섯 가지의 방법을 생각할 수 있다.
1
1
 
 
 
 
 
1
1
 
1
1
 
1
 
1
 
1
 
(예시2)
1
1
1
 
 
 
 
 
에 대해서는 다음 한 가지의 방법 밖에 생각할 수 없다.
1
1
1
 
 
 
 
 
==== 순서에 대해서 ====
둘 이상의 다른 숫자가 있는 경우에는 그 순서가 검은 칸의 순서를 나타낸다.
(예시)
3
1
 
 
 
 
 
1
에 대해서는 정답은 각각 아래와 같다.
3
1
 
 
 
 
 
1
3
 
 
 
또한, 가로인 경우만은 나타냈지만 세로일 때도 같다.
(예시)
2
1
 
 
 
 
 
에 대해서는 세 가지의 방법을 생각할 수 있다.
2
2
2
1
1
1
 
 
 
 
 
 
 
 
 
기본적인 규칙은 이것뿐이다.
(참조 튜토리얼 :  컨셉티스 아트 로직)
여기서는 한 열에 10칸이 있는 어느 퍼즐을 푸는 것을 상정하고 있다. 또, 공간 절약을 위해서 가로의 열만을 나타내지만 세로일 때도 같으며 이 곳의 모든 문장을 ‘왼쪽’을 ‘위’로, ‘오른쪽’을 ‘아래’로 바꾸면 세로일 때의 풀이 방법이 된다.
=== 첫 번째 단계 ===
첫 번째 단계에서는 풀기 시작하는 단계로 아무 단서가 없는 상태이기에 단서가 없이도 풀 수 있는 곳부터 풀어간다. 여기서의 작업을 빼먹으면 도중에 막히기에 확실하게 해야한다.
==== 0과 최고값을 먼저 ====
먼저 처음에 할 것은 0과 최고값(여기서는 10)부터 처리하는 것이다. 생각할 필요가 없는 0은 모두 빈칸이며 최고값인 경우에는 모두 검은 칸인 것이 확실하기 때문이다.
10
 
 
 
 
 
 
 
 
 
 
빈칸인 것이 확정된 칸에는 × 같은 것으로 빈칸이라는 것을 구분시켜둔다. 다만, 너무 크게 표기하면 완성됐을 때의 그림이 보기에 흉해지기에 주의가 필요하다.
0
×
×
×
×
×
×
×
×
×
×
==== 더해서 최곳값이 되는 것을 풀기 ====
둘 이상의 숫자가 있는 예시에서 숫자와 숫자 사이에 빈칸이 하나라고 가정하고 계산하면 조금 최곳값과 같은 수가 되는 예시는 하나의 가능성 밖에 없기에 숫자와 숫자 사이에 한 칸만 빈칸을 넣고 나머지는 검은 칸으로 칠한다.
(예시)
7
2
 
 
 
 
 
 
 
 
 
 
는 7과 2 사이에는 빈칸이 한 칸밖에 없다고 가정하면 7+''1''+2=10(''1''은 빈칸 분량, 아래와 같다)이며 최곳값과 같은 값이 되기 때문에 다음의 한가지 방법밖에 없다.
7
2
 
 
 
 
 
 
 
×
 
 
여기서 처리할 수 있는 것은 숫자가 적어질 수록 알아채기 어려워지기에 주의가 필요하다. 예를 들면 아래와 같다.
4
2
2
 
 
 
 
 
 
 
 
 
 
은, 4+''1''+2+''1''+2=10이기 때문에,
4
2
2
 
 
 
 
×
 
 
×
 
 
이다. 더 작은 경우도 있다.
1
2
1
1
1
 
 
 
 
 
 
 
 
 
 
은, 1+''1''+2+''1''+1+''1''+1+''1''+1=10이기 때문에,
1
2
1
1
1
 
×
 
 
×
 
×
 
×
 
이다.
==== 좌우에 채울 때에 생기는 공통된 검은 칸을 처리 ====
예를 들면 다음의 예시를 어떻게 처리할지이다.
8
 
 
 
 
 
 
 
 
 
 
이 예시는 다음의 세 가지 방법을 생각할 수 있다.
8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
이 경우에는 더 이상 없는 것인가라고 하면 그렇지도 없다. 잘 보면 어떤 경우나 맨 가운데의 여섯 칸은 반드시 칠해지는 것을 알 수 있다. 따라서, 이 예시는 이처럼 일부가 확정이다.
8
 
 
 
 
 
 
 
 
 
 
좀 더 말하면, 맨 왼쪽 칸이 검은 칸이라고 가정하고 가장 오른쪽의 칸이 검은 칸이라고 가정한 경우에 그 두 경우의 공통되는 부분이 검은 칸으로 확정이다.
(예시)
6
 
 
 
 
 
 
 
 
 
 
이것을 가장 왼쪽이 검은 칸이라고 가정하면,
6
 
 
 
 
 
 
 
 
 
 
반대로 가장 오른쪽이 검은 칸이라고 가정하면,
6
 
 
 
 
 
 
 
 
 
 
두 가지 경우를 비교해서 공통으로 검은 칸이 되는 것은,
6
 
 
 
 
 
 
 
 
 
 
이 되며, 아래의 예시에서 노란 색으로 표시한 가운데 두 칸이 공통되기에 아래처럼 컴은 칸을 칠한다.
6
 
 
 
 
 
 
 
 
 
 
둘 이상의 숫자가 있는 경우에 대해서도 숫자와 숫자 사이에 빈칸을 한 칸이라고 가정하면 같은 작업을 할 수 있다. 단, 왼쪽과 오른쪽부터 칠했을 경우를 비교했을 때에 검은 칸으로 공통되는 부분이 있어도 다른 숫자에서 온 경우에는 공통됐다고 볼 수는 없다(아래의 예시를 참조).
(예시)
4
2
 
 
 
 
 
 
 
 
 
 
가장 왼쪽이 검은 칸이라고 가정해서,
4
2
 
 
 
 
 
 
 
 
 
 
가장 오른쪽이 검은 칸이라고 가정해서,
4
2
 
 
 
 
 
 
 
 
 
 
두 가지의 경우를 비교하면 공통되는 부분이 검은 칸이 되는 것은,
4
2
 
 
 
 
 
 
 
 
 
 
여기서, 노란 색의 칸은 같은 ‘4’로 칠해져있지만, 초록색 칸은 가장 왼쪽에서 칠했을 경우에는 ‘2’, 가장 오른쪽에서 칠했을 경우에는 ‘4’로 칠해져 있기 때문에 노란 칸만이 확정되는 부분이다. 따라서 다음과 같이 확정이다.
4
2
 
 
 
 
 
 
 
 
 
 
아래 그림과 같은 경우의 가능성을 고려하면 초록 칸은 확정이 아닌 것을 알 수 있다.
4
2
 
 
 
 
 
 
 
 
 
 
=== 두 번째 단계 ===
첫 번째 단계로 확정지을 수 있는 것은 여기까지이다. 후에는 첫 번째 단계에서 확정지은 칸을 단서로 새롭게 확정지을 칸을 늘려가는 작업으로 변한다. 두 번째 단계에서 확정지을 칸도, 새롭게 확정지은 칸을 늘리는 단서가 되기에 다 풀때까지 이 작업을 반복하게 된다. 또한, 이 이후에는 이미 확정지은 검은 칸은 갈색 칸며 이미 확정지은 빈칸은 갈색 칸 안의 ×이며, 새롭게 확정지을 검은 칸과 빈칸은 각각 검은 칸과 검은 ×로 표시하게 된다.
==== 모든 검은 칸, 모든 빈칸이 확정된 예시의 처리 ====
숫자의 합계와 이미 확정지은 검은 칸의 수가 일치할 경우에 아직 확정 못 지은 칸을 모두 빈칸으로 확정시킨다. 아직 확정 못 지은 칸과 검은 칸으로 확정지은 칸의 합계가 숫자의 합계에 일치한 경우에는 아직 확정 못 지은 칸은 검은 칸으로 확정시킨다.
(예시1)
1
 
 
 
 
 
 
 
 
 
 
이 경우, 숫자 ‘1’에 대해서 이미 하나의 검은 칸이 확정되어 있기에 이 이외의 검은 칸은 없다. 따라서,
1
×
×
×
 
×
×
×
×
×
×
로 빈칸이 확정된다.
(예시2)
1
1
1
1
 
 
 
 
이 경우, 이 예시에는 합계 4칸의 검은 칸이 있는 것이기 때문에 아직 확정 못 지은 칸이 검은 칸이 아니면 검은 칸의 수가 부족해진다. 따라서,
1
1
1
1
 
 
 
 
로 검은 칸이 된다.
==== 검은 칸의 이웃 칸 처리 ====
숫자와 숫자 사이에는 빈칸이 한 칸 이상이 들어가기에 검은 칸이 연속인 것을 알 수 있으면 그 이웃 칸은 빈칸으로 확정한다.
(예시1)
1
2
1
 
 
 
 
 
 
 
 
 
 
이 경우, 이미 칠해진 검은 칸은 ‘2’에서 와서 연속하고 있는 것은 확실하다. 숫자와 숫자 사이에는 반드시 하나 이상의 빈칸이 있기에,
1
2
1
 
 
×
 
 
×
 
 
 
 
로 빈칸을 확정한다.
(예시2)
1
2
1
 
 
 
 
 
 
 
 
 
 
(예시1)의 경우와 비슷하지만 이번에는 이미 확정지은 칸은 ‘1’에서 온 것인지 ‘2’에서 온 것인지, 이 시점에서는 밝혀지지 않기에 새롭게 확정지을 수 있는 칸은 없다.
==== 가장자리의 처리 ====
가장 바깥 측이 확정되면 바깥 측의 숫자가 나타내는 검은 칸은 확정이다.
(예시1)
3
2
 
 
 
 
 
 
 
 
 
 
처럼 가장 왼쪽이 확정짓고 있을 경우에는 자동적으로 ‘3’이 나타내고 있는 것은
3
2
 
 
 
×
 
 
 
 
 
 
로 확정된다. 앞의 항에서 말한 ‘검은 칸의 이웃칸을 처리’에 따라서 왼쪽부터 네 번째에 ×를 붙이는 것도 잊지 않았으면 한다.
(예시2)
3
2
 
 
 
 
 
 
 
 
 
 
f로, 가장 오른쪽이 확정되었을 경우에는 자동적으로 ‘2’가 나타나고 있는 것은,
3
2
 
 
 
 
 
 
 
×
 
 
로 확정한다. 오른쪽에서 세 번째 ×는 ‘검은 칸의 이웃칸을 처리’에 따른 것이다.
==== 협소한 칸의 처리 ====
연속되어서 나타나는 숫자보다 협소한 칸의 경우에는 그 부분은 빈칸이라고 확정한다.
(예시1)
3
 
 
 
 
 
 
 
 
 
는, 우측부터 검은 칸을 취하면 두 칸만 나타나기에 우측 끝에는 검은 칸은 넣지 않는다. 따라서
3
 
 
 
 
 
 
 
×
×
확정한다.
(예시2)
3
 
 
 
 
 
 
 
 
는, ×와 ×의 사이에는 두 칸만 나타날 수 있기에 거기에는 검은칸은 넣지 않는다. 따라서
3
 
 
 
×
×
 
 
 
로 확정한다.
==== 확실히 검은 칸이 닿는 칸, 닿지 않는 칸을 처리 ====
이미 검은 칸의 확정되어 있으며 숫자와 비교해서 닿지 않는 칸이 있는 경우에는 그 곳은 빈칸으로 확정한다. 또, 몇몇 가장자리에 붙여도 검은 칸이 초과하는 부분에 대해서는 검은 칸으로 확정한다.
(예시1)
2
 
 
 
 
 
 
 
 
 
 
이 경우에 가능성은 아래 두 가지밖에 없다.
2
 
 
 
 
 
 
 
 
 
 
 
따라서, 다음처럼 확정한다.
2
 
 
 
×
×
×
×
×
×
×
(예시2)
5
 
 
 
 
 
 
 
 
 
 
이 경우, 우측 끝부터 검은 칸을 했다해도 반드시 오른쪽부터 다섯 번째 칸에 검은 칸이 닿아버린다. 또, 확정되어 있는 칸부터 좌측으로 다섯 칸을 해도 왼쪽부터 세 번째 칸까지 검은 칸은 닿지 않는 것이 명확해진다. 따라서,
5
×
×
×
 
 
 
 
 
 
 
로 확정한다.
(예시3)
3
4
 
 
 
 
 
 
 
 
 
 
이 경우, 우측의 검은 칸부터 좌측에 최대한 네 칸 분량을 늘려줘도 두 개의 검은 칸은 이어지지 않는다. 또, 그 사이에는 규칙에 따라서 최저 하나의 빈칸이 필요하기에 왼쪽부터 네 번째 칸은 4의 칸으로는 채울 수 없다. 그렇게 되면 4의 좌측이 오른쪽으로 벗어나기 때문에(왼쪽부터 다섯 번째 칸), 그 곳부터 오른쪽으로 센 네 번째 칸을 검은 칸으로 확정한다.
3
4
 
 
 
 
 
 
 
 
 
 
==== 가장자리나 최고값의 갱신에 대한 처리 ====
바깥 측의 빈칸을 연속해서 확정하면 그 분량만 가장자리가 안 쪽으로 밀리는 것으로 가정할 수 있으며 그에 따라서 그 예시의 최고값이 그것만 적어진다고 가정할 수 있다. 거기서 갱신된 가장자리나 최고값을 사용해서 검은 칸과 빈칸을 확정한다.
(예시1)
5
 
 
 
 
 
 
 
 
 
 
이것은, 첫 번째 단계에서는 확정할 수 없었다. 하지만,
5
 
 
 
 
 
 
 
 
 
로 확정한 경우, 오른쪽 끝이 하나 분량의 안쪽으로 어긋난 것을 가정할 수 있으며, 오른쪽에서 두 번째 칸을 새로운 오른쪽 끝으로 생각해서 ‘좌우에 채울 때에 생기는 공통된 검은 칸을 처리’를 진행하면,
5
 
 
 
 
 
 
 
 
 
로 확정할 수 있다.
(예시2)
1
1
1
1
 
 
 
 
 
 
 
 
 
 
이것은, 첫 번째 단계에서는 확정할 수 없었다. 하지만,
1
1
1
1
 
 
 
 
 
 
 
로 확정하면, 이 열은 최고값이 10에서 7로 내려간 것으로 가정할 수 있다. 그러면, 1+''1''+1+''1''+1+''1''+1=7이 되며, 최고값과 일치하기에,
1
1
1
1
 
×
 
×
 
×
 
로 확정한다.
==== 나눠진 칸의 처리 ====
길고 아무것도 확정되지 않은 칸의 절반쯤을 빈칸으로 확정하면, 그 좌우를 각각 독립해서 처리할 수가 있다.
(예시)
3
3
 
 
 
 
 
 
 
 
 
 
이것은 첫 번째 단계에서는 확정할 수 없었다. 하지만,
3
3
 
 
 
 
 
 
 
 
 
로 확정했을 경우에는 확정된 빈칸의 좌우 어느 한방향으로 모든 검은 칸이 들어가는 것은 있을 수 없기에 좌우 각각 하나씩 들어가게 되며,
3
3
 
 
 
 
 
 
 
 
 
로 확정할 수 있다.
=== 세 번째 단계 ===
문제 중에는 위의 기술을 구사해도 풀 수 없는 경우도 있다.
==== 소거법 ====
위의 방법만으로 막힌 경우. 주의의 장소를 임시로 모두 칠하는 장소로 가정한다. 게다가 그것을 단서로 문제를 풀어간 경우에 후에 모순점이 생겨버린다면 그곳은 실은 칠해서는 안되는 장소였다는 것을 알게된다.
또한, 모순범이 발생하기까지의 전개가 긴 만큼, 예측하기도 힘들어지며 고전을 강요당할 수 있다. 그러므로, 이 방법은 기술 중에도 고도의 훈련이 요구된다.
게임 “피크로스”, “피크로스 NP”에서는 ‘’（“NP”에서는 ‘’), ‘×’, ‘’가 있지만, ‘’(“NP”에서는 ‘’）마크라는 조작성은 마리오의 슈퍼 피크로스 내에 등장했다.
파일:Paint by numbers ex01.png
* 왼쪽의 8×8 칸의 문제를 예로 퍼즐의 전체 흐름을 나타낸다. 편의상 가로열을 대문자 A~H, 세로 열을 소문자 a~h를 사용해서 불렀으며, 특정 칸을 가로열과 세로열의 이름을 하나로 묶어서 부른다(가장 왼쪽 위의 칸은 Aa가 된다). 또한, 빨강으로 표시한 칠한 것과 × 미크는 '''가로열의 숫자'''에서, 파랑은 '''세로열의 숫자'''에서 나온 것을 나타낸다.
왼쪽
* D열 ‘8’은 최고값이기에 그 열은 모두 칠한다('''#0과 최고값을 먼저를 참조''').
* b열 ‘6’, c열 ‘2,1,2’, f열 ‘2,1,2’은 '''#좌우에 채울 때에 생기는 공통된 검은 칸을 처리'''의 정석으로 일부 칠한다.
왼쪽
* a열 ‘4’ 중에 검정 칸이 확정인 Da의 칸부터 생각해서 멘아래인 Ha는 빈칸인 것이 확정된다('''#확실히 검은 칸이 닿는 칸, 닿지 않는 칸을 처리'''를 참조).
* g열 ‘3,2’ 중 검은 칸 Dg는 위치부터 생각해서 명확히 ‘3’에서 나온 검은 칸이다. 따라서, 이 열의 맨위 Ag는 빈칸인 것이 확정된다.
* c열 ‘2,1,2’에 대해서 Bc, Dc의 검은 칸은 위치부터 생각해서 각각 ‘2’ ,‘1’에서 나온 것을 알 수 있다. 따라서, Dc의 위아래의 이웃칸은 빈칸인게 결정된다('''#검은 칸의 이웃 칸 처리를 참조'''). 또, 그에 따라서 맨위의 Ac가 검은 칸인 것도 확정된다('''#가장자리나 최고값의 갱신에 대한 처리를 참조''').
* f열도 c열과 마친가지로 처리할 수 있다.
왼쪽
* A열 ‘4’에 있는 두 개의 검은 칸 Ac, Af는 당연히 같은 ‘4’에서 나온 것이다. 따라서, 그 사이의 두 칸은 검은 칸으로 결정되며 '''#모든 검은 칸, 모든 빈칸이 확정된 예시의 처리'''를 할 수 있다.
* B열 ‘2,2’은 어느쪽도 '''확실히 검은 칸이 닿는 칸, 닿지 않는 칸을 처리'''의 정석으로 양쪽 가장자리의 칸 Ba, Bh을 빈칸으로 확정한다. G열도 마찬가지이다.
* C열 ‘2,2’는 Cc가 빈칸이라고 확정되어 있기 때문에 '''#가장자리나 최고값의 갱신에 대한 처리'''에서 Ca가 검은 칸인 것이 확정된다.
* E열 ‘2’는 Ec가 빈칸이라고 확정되어 있기 때문에 이것도 마찬가지로 Ea가 검은 칸인 것이 확정된다. 그 후, '''#모든 검은 칸, 모든 빈칸이 확정된 예시의 처리'''를 할 수 있다.
* H열 ‘4’도 '''#가장자리나 최고값의 갱신에 대한 처리'''에서 검은 칸이 하나 확정된다.
왼쪽
* a열의 모든 칸이 확정이다.
* b열 ‘6’은 '''가장자리나 최고값의 갱신에 대한 처리'''로부터 검은 칸이 하나 확정이다.
* d열 ‘1,1,1’에는 '''#검은 칸의 이웃 칸 처리'''를 할 수 있다.
* e열의 모든 칸이 확정이다.
* g열의 ‘3’이 확정, ‘2’가 일부 확정이다.
* h열의 ‘2’가 확정이다.
왼쪽
* B열의 모든 칸이 확정이다.
* F열 ‘2,2’는 '''#검은 칸의 이웃 칸 처리'''에서 Fc가 빈칸으로 결정되며 또 Fd는 '''#협소한 칸의 처리'''를 할 수 있으며 빈칸으로 확정된다. 그 후, '''#가장자리나 최고값의 갱신에 대한 처리'''에서 Fg가 검은 칸이 된다.
* G열의 모든 칸이 확정이다.
왼쪽
* b, c, g열의 모든 칸이 확정이다.
왼쪽
* H열의 모든 칸이 확정이다.
왼쪽
* f, h열의 모든 칸이 확정이며, 완성이 된다.
파일:Paint by numbers ex10.png
* 완성 그림("e"라는 알파벳)
* 위의 예시에서 알 수 있듯이 풀 때에는 종종 ‘이 검은 칸은 어느 숫자에서 온 것인지’에 대해서가 중요하다.
기본 규칙으로는 빈칸의 그림만 그릴 수 없기 때문에 둘 이상의 색을 사용할 수 있게 한 규칙도 존재한다.
가장 일반적인 것은 숫자마다 색이 지정되어 있어서 숫자에 지정된 색으로 칠하는 것이다. 이 경우에 같은 열에 숫자가 둘 이상 있어도 다른 색이라면 사이에 공백이 들어가지 않아도 좋다는 규칙이 추가된다(같은 색이라면 기본 규칙처럼 한 칸 이상 비운다).
풀 때에는 아래의 내용에 주의할 필요가 있다.
* 숫자와 숫자 사이에 들어가지 않은 경우가 있기 때문에 확정된 칸이 적어진다.
* 각 색이 어떤 열에서 사용되고 있는지를 확인한다. 이것에 의해서 그 색으로 '''칠할 수 없는''' 범위가 나뉘며 그곳에서부터 결정되는 경우가 있다.
아직 도트 그림을 그려도 반드시 문제로 성립한다고는 할 수 없다. 답이 하나로 좁히지 않는 경우가 있기 때문이다. 컴퓨터 상에서 문제를 만들 수 있는 소프트웨어 등에서는 문제로 성립하는지 아닌지를 자동적으로 판정해주는 기능이 달려있는 것도 있다.
칠하는 칸을 정사각형을 비스듬히 자른 삼각형으로 한 규칙도 있다. 이러한 것을 ''다이아몬드 로직'' 또는 ''다이아 로직'' 등으로 불린다.
100×100 칸 등 방대한 칸 수가 되어 오면 칠할 수 있는 칸을 찾는 것이 상당히 힘들어진다.
여기서 첫 번째 단계에서 칠할 수 있는 칸을 계산에 따라서 구할 수 있는 방법이 있다.
* 먼저, 구하고 싶은 행A의 힌트로 나와있는 수를 모두 합한다(이것은 검은 칸의 계산).
* 다음으로 행A의 힌트 개수에 1을 뺀 값을 위에서 계산된 숫자와 합한다(행A가 1, 1 , 3 , 4인 경우에는 3을 더한다. 이것은 빈칸의 합계의 촤저값).
* 마지막으로 칠할 수 있을지를 알고 싶은 수 B(우선은 행A의 높은 수(예시의 경우에는 4)가 좋다)를 모두 합한다.
이 세 개의 단계로 구한 수에서 행A의 칸 수(세로 또는 가로의 칸 수)를 빼서 구한 정수가 첫 번째 단계에서 수 B로 칠할 수 있는 칸 수이다. 0 이하가 됐을 경우에는 행A의 수 B는 첫 번째 단계에서는 칠할 수 없다. 칠하는 위치는 첫 번째 단계의 풀이 방법을 참조.
덧붙여서 열의 경우에는 행A가 15칸일 시에는 4의 부분에 한 칸을 칠할 수 있으며, 14칸이였던 경우에는 3의 한 칸과 4의 두 칸의 합계 세 칸을 칠할 수 있다.
+ 풀기 전
 2
 2
 0 
 9 
 9 
 2 
 2 
 4 
 4 
 0
   
 0 
 
 
 
 
 
 
 
   
 4 
 
 
 
 
 
 
 
   
 6 
 
 
 
 
 
 
 
 2 
 2 
 
 
 
 
 
 
 
 2 
 2 
 
 
 
 
 
 
 
   
 6 
 
 
 
 
 
 
 
   
 4 
 
 
 
 
 
 
 
   
 2 
 
 
 
 
 
 
 
   
 2 
 
 
 
 
 
 
 
   
 2 
 
 
 
 
 
 
 
   
 0 
 
 
 
 
 
 
 
+ 풀기 후
 2
 2
 0 
 9 
 9 
 2 
 2 
 4 
 4 
 0
   
 0 
 
 
 
 
 
 
 
   
 4 
 
 
 
 
 
 
 
   
 6 
 
 
 
 
 
 
 
 2 
 2 
 
 
 
 
 
 
 
 2 
 2 
 
 
 
 
 
 
 
   
 6 
 
 
 
 
 
 
 
   
 4 
 
 
 
 
 
 
 
   
 2 
 
 
 
 
 
 
 
   
 2 
 
 
 
 
 
 
 
   
 2 
 
 
 
 
 
 
 
   
 0 
 
 
 
 
 
 
 
분류:논리 퍼즐
분류:NP-완전 문제