Skip to content

Instantly share code, notes, and snippets.

@erantapaa
Last active December 3, 2019 02:29
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save erantapaa/16b1a208e2725e7d9487dbb648c65034 to your computer and use it in GitHub Desktop.
Save erantapaa/16b1a208e2725e7d9487dbb648c65034 to your computer and use it in GitHub Desktop.
Daily Programmer 2017-09-22 Solution
iniital board:
1 3 2 5 4 2 2 3
1 12345678 .....6.. 12345678 12345678 ....5... 12345678 1....... 12345678 3
4 12345678 .2...... 1....... 12345678 12345678 12345678 12345678 12345678 2
3 .2...... 12345678 12345678 12345678 .....6.. 12345678 ..3..... 12345678 5
3 12345678 12345678 12345678 12345678 12345678 .......8 12345678 12345678 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 12345678 12345678 12345678 12345678 12345678 12345678 12345678 ..3..... 3
3 12345678 12345678 12345678 12345678 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule north column 0:
1 3 2 5 4 2 2 3
1 ①②③④⑤⑥⑦8 .....6.. 12345678 12345678 ....5... 12345678 1....... 12345678 3
4 12345678 .2...... 1....... 12345678 12345678 12345678 12345678 12345678 2
3 .2...... 12345678 12345678 12345678 .....6.. 12345678 ..3..... 12345678 5
3 12345678 12345678 12345678 12345678 12345678 .......8 12345678 12345678 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 12345678 12345678 12345678 12345678 12345678 12345678 12345678 ..3..... 3
3 12345678 12345678 12345678 12345678 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule south column 0:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 12345678 12345678 ....5... 12345678 1....... 12345678 3
4 12345678 .2...... 1....... 12345678 12345678 12345678 12345678 12345678 2
3 .2...... 12345678 12345678 12345678 .....6.. 12345678 ..3..... 12345678 5
3 12345678 12345678 12345678 12345678 12345678 .......8 12345678 12345678 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567⑧ 12345678 12345678 12345678 12345678 12345678 12345678 ..3..... 3
3 123456⑦⑧ 12345678 12345678 12345678 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule east row 0:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 12345678 12345678 ....5... 12345678 1....... 123456⑦⑧ 3
4 12345678 .2...... 1....... 12345678 12345678 12345678 12345678 12345678 2
3 .2...... 12345678 12345678 12345678 .....6.. 12345678 ..3..... 12345678 5
3 12345678 12345678 12345678 12345678 12345678 .......8 12345678 12345678 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 12345678 12345678 12345678 12345678 12345678 12345678 ..3..... 3
3 123456.. 12345678 12345678 12345678 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule south column 1:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 12345678 12345678 ....5... 12345678 1....... 123456.. 3
4 12345678 .2...... 1....... 12345678 12345678 12345678 12345678 12345678 2
3 .2...... 12345678 12345678 12345678 .....6.. 12345678 ..3..... 12345678 5
3 12345678 12345678 12345678 12345678 12345678 .......8 12345678 12345678 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567⑧ 12345678 12345678 12345678 12345678 12345678 ..3..... 3
3 123456.. 123456⑦⑧ 12345678 12345678 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule east row 1:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 12345678 12345678 ....5... 12345678 1....... 123456.. 3
4 12345678 .2...... 1....... 12345678 12345678 12345678 123456⑦8 1234567⑧ 2
3 .2...... 12345678 12345678 12345678 .....6.. 12345678 ..3..... 12345678 5
3 12345678 12345678 12345678 12345678 12345678 .......8 12345678 12345678 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 12345678 12345678 12345678 12345678 12345678 ..3..... 3
3 123456.. 123456.. 12345678 12345678 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule west row 1:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 12345678 12345678 ....5... 12345678 1....... 123456.. 3
4 12345⑥⑦⑧ .2...... 1....... 12345678 12345678 12345678 123456.8 1234567. 2
3 .2...... 12345678 12345678 12345678 .....6.. 12345678 ..3..... 12345678 5
3 12345678 12345678 12345678 12345678 12345678 .......8 12345678 12345678 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 12345678 12345678 12345678 12345678 12345678 ..3..... 3
3 123456.. 123456.. 12345678 12345678 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule north column 2:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567⑧ 12345678 ....5... 12345678 1....... 123456.. 3
4 12345... .2...... 1....... 12345678 12345678 12345678 123456.8 1234567. 2
3 .2...... 12345678 12345678 12345678 .....6.. 12345678 ..3..... 12345678 5
3 12345678 12345678 12345678 12345678 12345678 .......8 12345678 12345678 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 12345678 12345678 12345678 12345678 12345678 ..3..... 3
3 123456.. 123456.. 12345678 12345678 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule south column 2:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 12345678 ....5... 12345678 1....... 123456.. 3
4 12345... .2...... 1....... 12345678 12345678 12345678 123456.8 1234567. 2
3 .2...... 12345678 12345678 12345678 .....6.. 12345678 ..3..... 12345678 5
3 12345678 12345678 12345678 12345678 12345678 .......8 12345678 12345678 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 123456⑦8 12345678 12345678 12345678 12345678 ..3..... 3
3 123456.. 123456.. 1234567⑧ 12345678 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule east row 2:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 12345678 ....5... 12345678 1....... 123456.. 3
4 12345... .2...... 1....... 12345678 12345678 12345678 123456.8 1234567. 2
3 .2...... 12345678 12345678 12345678 .....6.. 123456⑦⑧ ..3..... 1234⑤⑥⑦⑧ 5
3 12345678 12345678 12345678 12345678 12345678 .......8 12345678 12345678 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 123456.8 12345678 12345678 12345678 12345678 ..3..... 3
3 123456.. 123456.. 1234567. 12345678 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule west row 2:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 12345678 ....5... 12345678 1....... 123456.. 3
4 12345... .2...... 1....... 12345678 12345678 12345678 123456.8 1234567. 2
3 .2...... 1234567⑧ 12345678 12345678 .....6.. 123456.. ..3..... 1234.... 5
3 12345678 12345678 12345678 12345678 12345678 .......8 12345678 12345678 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 123456.8 12345678 12345678 12345678 12345678 ..3..... 3
3 123456.. 123456.. 1234567. 12345678 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule north column 3:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234⑤⑥⑦⑧ ....5... 12345678 1....... 123456.. 3
4 12345... .2...... 1....... 12345⑥⑦⑧ 12345678 12345678 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456⑦⑧ .....6.. 123456.. ..3..... 1234.... 5
3 12345678 12345678 12345678 1234567⑧ 12345678 .......8 12345678 12345678 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 123456.8 12345678 12345678 12345678 12345678 ..3..... 3
3 123456.. 123456.. 1234567. 12345678 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule south column 3:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 12345678 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 12345678 12345678 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 12345678 12345678 12345678 1234567. 12345678 .......8 12345678 12345678 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 123456.8 12345678 12345678 12345678 12345678 ..3..... 3
3 123456.. 123456.. 1234567. ①②③④⑤⑥⑦8 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule east row 3:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 12345678 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 12345678 12345678 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 12345678 12345678 12345678 1234567. 12345678 .......8 123456⑦8 1234567⑧ 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 123456.8 12345678 12345678 12345678 12345678 ..3..... 3
3 123456.. 123456.. 1234567. .......8 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule west row 3:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 12345678 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 12345678 12345678 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456⑦⑧ 1234567⑧ 12345678 1234567. 12345678 .......8 123456.8 1234567. 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 123456.8 12345678 12345678 12345678 12345678 ..3..... 3
3 123456.. 123456.. 1234567. .......8 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule north column 4:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 12345678 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 123456⑦⑧ 12345678 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 1234567. 12345678 1234567. 12345678 .......8 123456.8 1234567. 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 123456.8 12345678 12345678 12345678 12345678 ..3..... 3
3 123456.. 123456.. 1234567. .......8 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule south column 4:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 12345678 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 123456.. 12345678 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 1234567. 12345678 1234567. 12345678 .......8 123456.8 1234567. 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 12345678 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 123456.8 12345678 123456⑦8 12345678 12345678 ..3..... 3
3 123456.. 123456.. 1234567. .......8 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule east row 4:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 12345678 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 123456.. 12345678 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 1234567. 12345678 1234567. 12345678 .......8 123456.8 1234567. 2
2 12345678 12345678 .....6.. 12345678 12345678 ..3..... ......7. 123456⑦⑧ 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 123456.8 12345678 123456.8 12345678 12345678 ..3..... 3
3 123456.. 123456.. 1234567. .......8 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule west row 4:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 12345678 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 123456.. 12345678 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 1234567. 12345678 1234567. 12345678 .......8 123456.8 1234567. 2
2 1234567⑧ 123456⑦8 .....6.. 12345678 12345678 ..3..... ......7. 123456.. 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 123456.8 12345678 123456.8 12345678 12345678 ..3..... 3
3 123456.. 123456.. 1234567. .......8 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule north column 5:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 1234567⑧ 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 123456.. 123456⑦8 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 1234567. 12345678 1234567. 12345678 .......8 123456.8 1234567. 2
2 1234567. 123456.8 .....6.. 12345678 12345678 ..3..... ......7. 123456.. 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 123456.8 12345678 123456.8 12345678 12345678 ..3..... 3
3 123456.. 123456.. 1234567. .......8 ..3..... 12345678 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule south column 5:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 1234567. 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 123456.. 123456.8 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 1234567. 12345678 1234567. 12345678 .......8 123456.8 1234567. 2
2 1234567. 123456.8 .....6.. 12345678 12345678 ..3..... ......7. 123456.. 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 12345678 1
4 1234567. 1234567. 123456.8 12345678 123456.8 123456⑦8 12345678 ..3..... 3
3 123456.. 123456.. 1234567. .......8 ..3..... 1234567⑧ 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule east row 5:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 1234567. 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 123456.. 123456.8 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 1234567. 12345678 1234567. 12345678 .......8 123456.8 1234567. 2
2 1234567. 123456.8 .....6.. 12345678 12345678 ..3..... ......7. 123456.. 3
2 12345678 12345678 ....5... 12345678 12345678 12345678 12345678 ①②③④⑤⑥⑦8 1
4 1234567. 1234567. 123456.8 12345678 123456.8 123456.8 12345678 ..3..... 3
3 123456.. 123456.. 1234567. .......8 ..3..... 1234567. 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule west row 5:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 1234567. 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 123456.. 123456.8 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 1234567. 12345678 1234567. 12345678 .......8 123456.8 1234567. 2
2 1234567. 123456.8 .....6.. 12345678 12345678 ..3..... ......7. 123456.. 3
2 1234567⑧ 123456⑦8 ....5... 12345678 12345678 12345678 12345678 .......8 1
4 1234567. 1234567. 123456.8 12345678 123456.8 123456.8 12345678 ..3..... 3
3 123456.. 123456.. 1234567. .......8 ..3..... 1234567. 12345678 12345678 3
3 3 2 1 2 2 4 3
after simple rule south column 6:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 1234567. 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 123456.. 123456.8 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 1234567. 12345678 1234567. 12345678 .......8 123456.8 1234567. 2
2 1234567. 123456.8 .....6.. 12345678 12345678 ..3..... ......7. 123456.. 3
2 1234567. 123456.8 ....5... 12345678 12345678 12345678 1234567⑧ .......8 1
4 1234567. 1234567. 123456.8 12345678 123456.8 123456.8 123456⑦⑧ ..3..... 3
3 123456.. 123456.. 1234567. .......8 ..3..... 1234567. 12345⑥⑦⑧ 12345678 3
3 3 2 1 2 2 4 3
after simple rule west row 6:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 1234567. 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 123456.. 123456.8 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 1234567. 12345678 1234567. 12345678 .......8 123456.8 1234567. 2
2 1234567. 123456.8 .....6.. 12345678 12345678 ..3..... ......7. 123456.. 3
2 1234567. 123456.8 ....5... 12345678 12345678 12345678 1234567. .......8 1
4 12345⑥⑦. 123456⑦. 123456.⑧ 12345678 123456.8 123456.8 123456.. ..3..... 3
3 123456.. 123456.. 1234567. .......8 ..3..... 1234567. 12345... 12345678 3
3 3 2 1 2 2 4 3
after simple rule south column 7:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234567. 1234.... ....5... 1234567. 1....... 123456.. 3
4 12345... .2...... 1....... 12345... 123456.. 123456.8 123456.8 1234567. 2
3 .2...... 1234567. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 1234567. 12345678 1234567. 12345678 .......8 123456.8 1234567. 2
2 1234567. 123456.8 .....6.. 12345678 12345678 ..3..... ......7. 123456.. 3
2 1234567. 123456.8 ....5... 12345678 12345678 12345678 1234567. .......8 1
4 12345... 123456.. 123456.. 12345678 123456.8 123456.8 123456.. ..3..... 3
3 123456.. 123456.. 1234567. .......8 ..3..... 1234567. 12345... 123456⑦⑧ 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 12345⑥7. 1234.... ....5... 12345⑥7. 1....... 12345⑥.. 3
4 12345... .2...... 1....... 12345... 123456.. 123456.8 123456.8 1234567. 2
3 .2...... 12345⑥7. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 12345⑥7. 12345678 1234567. 12345678 .......8 123456.8 1234567. 2
2 1234567. 12345⑥.8 .....6.. 12345678 12345678 ..3..... ......7. 123456.. 3
2 1234567. 12345⑥.8 ....5... 12345678 12345678 12345678 1234567. .......8 1
4 12345... 12345⑥.. 123456.. 12345678 123456.8 123456.8 123456.. ..3..... 3
3 123456.. 12345⑥.. 1234567. .......8 ..3..... 1234567. 12345... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. 1234⑤.7. 1234.... ....5... 1234⑤.7. 1....... 1234⑤... 3
4 12345... .2...... 1....... 12345... 1234⑤6.. 123456.8 123456.8 1234567. 2
3 .2...... 12345.7. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 12345.7. 12345678 1234567. 1234⑤678 .......8 123456.8 1234567. 2
2 1234567. 12345..8 .....6.. 12345678 1234⑤678 ..3..... ......7. 123456.. 3
2 1234567. 12345..8 ....5... 12345678 1234⑤678 12345678 1234567. .......8 1
4 12345... 12345... 123456.. 12345678 1234⑤6.8 123456.8 123456.. ..3..... 3
3 123456.. 12345... 1234567. .......8 ..3..... 1234567. 12345... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. ①234..7. ①234.... ....5... ①234..7. 1....... ①234.... 3
4 12345... .2...... 1....... 12345... 1234.6.. 123456.8 ①23456.8 1234567. 2
3 .2...... 12345.7. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 12345.7. 12345678 1234567. 1234.678 .......8 ①23456.8 1234567. 2
2 1234567. 12345..8 .....6.. 12345678 1234.678 ..3..... ......7. 123456.. 3
2 1234567. 12345..8 ....5... 12345678 1234.678 12345678 ①234567. .......8 1
4 12345... 12345... 123456.. 12345678 1234.6.8 123456.8 ①23456.. ..3..... 3
3 123456.. 12345... 1234567. .......8 ..3..... 1234567. ①2345... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .234..7. 1....... .234.... 3
4 1②345... .2...... 1....... 1②345... 1②34.6.. 1②3456.8 .②3456.8 1②34567. 2
3 .2...... 1②345.7. 12345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 1②345.7. 12345678 1234567. 1234.678 .......8 .23456.8 1234567. 2
2 1234567. 1②345..8 .....6.. 12345678 1234.678 ..3..... ......7. 123456.. 3
2 1234567. 1②345..8 ....5... 12345678 1234.678 12345678 .234567. .......8 1
4 12345... 1②345... 123456.. 12345678 1234.6.8 123456.8 .23456.. ..3..... 3
3 123456.. 1②345... 1234567. .......8 ..3..... 1234567. .2345... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .234..7. 1....... .234.... 3
4 ①.345... .2...... 1....... ①.345... ①.34.6.. ①.3456.8 ..3456.8 ①.34567. 2
3 .2...... 1.345.7. ①2345678 123456.. .....6.. 123456.. ..3..... 1234.... 5
3 123456.. 1.345.7. ①2345678 1234567. 1234.678 .......8 .23456.8 1234567. 2
2 1234567. 1.345..8 .....6.. 12345678 1234.678 ..3..... ......7. 123456.. 3
2 1234567. 1.345..8 ....5... 12345678 1234.678 12345678 .234567. .......8 1
4 12345... 1.345... ①23456.. 12345678 1234.6.8 123456.8 .23456.. ..3..... 3
3 123456.. 1.345... ①234567. .......8 ..3..... 1234567. .2345... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .234..7. 1....... .234.... 3
4 ..345... .2...... 1....... ..345... ..34.6.. ..3456.8 ..3456.8 ..34567. 2
3 .2...... 1.345.7. .②345678 1②3456.. .....6.. 1②3456.. ..3..... 1②34.... 5
3 1②3456.. 1.345.7. .2345678 1234567. 1234.678 .......8 .23456.8 1234567. 2
2 1②34567. 1.345..8 .....6.. 12345678 1234.678 ..3..... ......7. 123456.. 3
2 1②34567. 1.345..8 ....5... 12345678 1234.678 12345678 .234567. .......8 1
4 1②345... 1.345... .23456.. 12345678 1234.6.8 123456.8 .23456.. ..3..... 3
3 1②3456.. 1.345... .234567. .......8 ..3..... 1234567. .2345... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .234..7. 1....... .234.... 3
4 ..345... .2...... 1....... ..345... ..34.⑥.. ..3456.8 ..3456.8 ..34567. 2
3 .2...... 1.345.7. ..345⑥78 1.345⑥.. .....6.. 1.345⑥.. ..3..... 1.34.... 5
3 1.3456.. 1.345.7. .2345678 1234567. 1234.⑥78 .......8 .23456.8 1234567. 2
2 1.34567. 1.345..8 .....6.. 12345678 1234.⑥78 ..3..... ......7. 123456.. 3
2 1.34567. 1.345..8 ....5... 12345678 1234.⑥78 12345678 .234567. .......8 1
4 1.345... 1.345... .23456.. 12345678 1234.⑥.8 123456.8 .23456.. ..3..... 3
3 1.3456.. 1.345... .234567. .......8 ..3..... 1234567. .2345... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .234..7. 1....... .234.... 3
4 ..345... .2...... 1....... ..345... ..34.... ..3456.8 ..③456.8 ..34567. 2
3 .2...... 1.③45.7. ..③45.78 1.③45... .....6.. 1.③45... ..3..... 1.③4.... 5
3 1.3456.. 1.345.7. .2345678 1234567. 1234..78 .......8 .2③456.8 1234567. 2
2 1.34567. 1.345..8 .....6.. 12345678 1234..78 ..3..... ......7. 123456.. 3
2 1.34567. 1.345..8 ....5... 12345678 1234..78 12345678 .2③4567. .......8 1
4 1.345... 1.345... .23456.. 12345678 1234...8 123456.8 .2③456.. ..3..... 3
3 1.3456.. 1.345... .234567. .......8 ..3..... 1234567. .2③45... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .234..7. 1....... .234.... 3
4 ..345... .2...... 1....... ..345... ..34.... ..3456.⑧ ...456.8 ..34567. 2
3 .2...... 1..45.7. ...45.78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .234567⑧ 1234567. 1234..7⑧ .......8 .2.456.⑧ 1234567. 2
2 1.34567. 1.345..8 .....6.. 12345678 1234..78 ..3..... ......7. 123456.. 3
2 1.34567. 1.345..8 ....5... 12345678 1234..78 1234567⑧ .2.4567. .......8 1
4 1.345... 1.345... .23456.. 12345678 1234...8 123456.⑧ .2.456.. ..3..... 3
3 1.3456.. 1.345... .234567. .......8 ..3..... 1234567. .2.45... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .234..7. 1....... .234.... 3
4 ..345... .2...... 1....... ..345... ..34.... ..3456.. ...456.8 ..34567. 2
3 .2...... 1..45.7. ...45.78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .2345⑥7. 1234567. 1234..7. .......8 .2.456.. 1234567. 2
2 1.345⑥7. 1.345..8 .....6.. 12345⑥78 1234..78 ..3..... ......7. 12345⑥.. 3
2 1.34567. 1.345..8 ....5... 12345678 1234..78 1234567. .2.4567. .......8 1
4 1.345... 1.345... .2345⑥.. 12345678 1234...8 123456.. .2.456.. ..3..... 3
3 1.3456.. 1.345... .2345⑥7. .......8 ..3..... 1234567. .2.45... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2③4..7. 1....... .234.... 3
4 ..345... .2...... 1....... ..345... ..34.... ..③456.. ...456.8 ..34567. 2
3 .2...... 1..45.7. ...45.78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .2345.7. 1234567. 1234..7. .......8 .2.456.. 1234567. 2
2 1.③45.7. 1.③45..8 .....6.. 12③45.78 12③4..78 ..3..... ......7. 12③45... 3
2 1.34567. 1.345..8 ....5... 12345678 1234..78 12③4567. .2.4567. .......8 1
4 1.345... 1.345... .2345... 12345678 1234...8 12③456.. .2.456.. ..3..... 3
3 1.3456.. 1.345... .2345.7. .......8 ..3..... 12③4567. .2.45... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .234.... 3
4 ..345... .2...... 1....... ..345... ..34.... ...456.. ...456.8 ..34567. 2
3 .2...... 1..45.7. ...45.78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .2345.7. 1234567. 1234..7. .......8 .2.456.. 1234567. 2
2 1..45.⑦. 1..45..8 .....6.. 12.45.⑦8 12.4..⑦8 ..3..... ......7. 12.45... 3
2 1.34567. 1.345..8 ....5... 12345678 1234..78 12.4567. .2.456⑦. .......8 1
4 1.345... 1.345... .2345... 12345678 1234...8 12.456.. .2.456.. ..3..... 3
3 1.3456.. 1.345... .2345.7. .......8 ..3..... 12.4567. .2.45... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .234.... 3
4 ..345... .2...... 1....... ..345... ..34.... ...456.. ...456.8 ..34567. 2
3 .2...... 1..45.7. ...4⑤.78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .234⑤.7. 1234567. 1234..7. .......8 .2.456.. 1234567. 2
2 1..45... 1..45..8 .....6.. 12.45..8 12.4...8 ..3..... ......7. 12.45... 3
2 1.34⑤67. 1.34⑤..8 ....5... 1234⑤678 1234..78 12.4⑤67. .2.4⑤6.. .......8 1
4 1.345... 1.345... .234⑤... 12345678 1234...8 12.456.. .2.456.. ..3..... 3
3 1.3456.. 1.345... .234⑤.7. .......8 ..3..... 12.4567. .2.45... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .234.... 3
4 ..345... .2...... 1....... ..345... ..34.... ...456.. ...456.8 ..34567. 2
3 .2...... 1..45.7. ...4..78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .234..7. 1234567. 1234..7. .......8 .2.456.. 1234567. 2
2 1..45... 1..45..8 .....6.. 12.45..8 12.4...8 ..3..... ......7. 12.45... 3
2 1.34.67. 1.34...⑧ ....5... 1234.67⑧ 1234..7⑧ 12.4.67. .2.4.6.. .......8 1
4 1.345... 1.345... .234.... 12345678 1234...8 12.456.. .2.456.. ..3..... 3
3 1.3456.. 1.345... .234..7. .......8 ..3..... 12.4567. .2.45... 123456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2③4.... 3
4 ..345... .2...... 1....... ..345... ..34.... ...456.. ...456.8 ..③4567. 2
3 .2...... 1..45.7. ...4..78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .234..7. 1234567. 1234..7. .......8 .2.456.. 12③4567. 2
2 1..45... 1..45..8 .....6.. 12.45..8 12.4...8 ..3..... ......7. 12.45... 3
2 1.34.67. 1.34.... ....5... 1234.67. 1234..7. 12.4.67. .2.4.6.. .......8 1
4 1.③45... 1.③45... .2③4.... 12③45678 12③4...8 12.456.. .2.456.. ..3..... 3
3 1.3456.. 1.345... .234..7. .......8 ..3..... 12.4567. .2.45... 12③456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..345... .2...... 1....... ..345... ..34.... ...456.. ...456.8 ...4567. 2
3 .2...... 1..45.7. ...4..78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .234..7. 1234567. 1234..7. .......8 .2.456.. 12.4567. 2
2 1..45... 1..45..8 .....6.. 12.45..⑧ 12.4...8 ..3..... ......7. 12.45... 3
2 1.34.67. 1.34.... ....5... 1234.67. 1234..7. 12.4.67. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... 12.4567⑧ 12.4...8 12.456.. .2.456.. ..3..... 3
3 1.3456.. 1.345... .234..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..345... .2...... 1....... ..345... ..③4.... ...456.. ...456.8 ...4567. 2
3 .2...... 1..45.7. ...4..78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .234..7. 1234567. 12③4..7. .......8 .2.456.. 12.4567. 2
2 1..45... 1..45..8 .....6.. 12.45... 12.4...8 ..3..... ......7. 12.45... 3
2 1.34.67. 1.34.... ....5... 1234.67. 12③4..7. 12.4.67. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... 12.4567. 12.4...8 12.456.. .2.456.. ..3..... 3
3 1.③456.. 1.③45... .2③4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3④5... .2...... 1....... ..3④5... ...4.... ...④56.. ...④56.8 ...④567. 2
3 .2...... 1..45.7. ...4..78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .234..7. 1234567. 12.④..7. .......8 .2.456.. 12.4567. 2
2 1..45... 1..45..8 .....6.. 12.45... 12.④...8 ..3..... ......7. 12.45... 3
2 1.34.67. 1.34.... ....5... 1234.67. 12.④..7. 12.4.67. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... 12.4567. 12.④...8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location column 0:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... ....56.. ....56.8 ....567. 2
3 .2...... 1..45.7. ...4..78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .234..7. 1234567. 12....7. .......8 .2.456.. 12.4567. 2
2 1..45... 1..45..8 .....6.. 12.45... 12.....8 ..3..... ......7. 12.45... 3
2 ①.③④.⑥7. 1.34.... ....5... 1234.67. 12....7. 12.4.67. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... 12.4567. 12.....8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... ....56.. ....56.8 ....567. 2
3 .2...... 1..45.7. ...4..78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .234..7. 1234567. 12....7. .......8 .2.456.. 12.4567. 2
2 1..45... 1..45..8 .....6.. 12.45... 12.....8 ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6⑦. 12....⑦. 12.4.6⑦. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... 12.4567. 12.....8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location column 1:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... ....56.. ....56.8 ....567. 2
3 .2...... 1..45.7. ...4..78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .234..7. 1234567. 12....7. .......8 .2.456.. 12.4567. 2
2 1..45... ①..④⑤..8 .....6.. 12.45... 12.....8 ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.6.. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... 12.4567. 12.....8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... ....56.. ....56.8 ....567. 2
3 .2...... 1..45.7. ...4..78 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .234..7. 1234567. 12....7. .......8 .2.456.. 12.4567. 2
2 1..45... .......8 .....6.. 12.45... 12.....⑧ ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.6.. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... 12.4567. 12.....8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location column 2:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... ....56.. ....56.8 ....567. 2
3 .2...... 1..45.7. ...④..⑦8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .234..7. 1234567. 12....7. .......8 .2.456.. 12.4567. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.6.. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... 12.4567. 12.....8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location column 4:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... ....56.. ....56.8 ....567. 2
3 .2...... 1..45.7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.7. .234..7. 1234567. ①②....7. .......8 .2.456.. 12.4567. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.6.. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... 12.4567. 12.....8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... ....56.. ....56.8 ....567. 2
3 .2...... 1..45.7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345.⑦. .234..⑦. 123456⑦. ......7. .......8 .2.456.. 12.456⑦. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.6.. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... 12.4567. 12.....8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location column 1:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... ....56.. ....56.8 ....567. 2
3 .2...... ①..④⑤.7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345... .234.... 123456.. ......7. .......8 .2.456.. 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.6.. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... 12.4567. 12.....8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location column 3:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... ....56.. ....56.8 ....567. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345... .234.... 123456.. ......7. .......8 .2.456.. 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.6.. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... ①②.④⑤⑥7. 12.....8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location column 4:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... ....56.. ....56.8 ....567. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345... .234.... 123456.. ......7. .......8 .2.456.. 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.6.. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... ......7. ①②.....8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location column 6:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... ....56.. ....⑤⑥.8 ....567. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345... .234.... 123456.. ......7. .......8 .2.456.. 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.6.. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... ......7. .......8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location column 7:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... ....56.. .......8 ....⑤⑥7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345... .234.... 123456.. ......7. .......8 .2.456.. 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.6.. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... ......7. .......8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location row 1:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... ....⑤6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345... .234.... 123456.. ......7. .......8 .2.456.. 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.6.. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... ......7. .......8 12.456.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.4567. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345... .234.... 123456.. ......7. .......8 .2.456.. 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.⑥.. .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... ......7. .......8 12.45⑥.. .2.456.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.45⑥7. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location row 6:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345... .234.... 123456.. ......7. .......8 .2.456.. 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.... .2.4.6.. .......8 1
4 1..45... 1..45... .2.4.... ......7. .......8 12.45... .②.④⑤6.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.45.7. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345... .234.... 123456.. ......7. .......8 .2.45⑥.. 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... 1234.6.. 12...... 12.4.... .2.4.⑥.. .......8 1
4 1..45... 1..45... .2.4.... ......7. .......8 12.45... .....6.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.45.7. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location row 5:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345... .234.... 123456.. ......7. .......8 .2.45... 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... ①②③④.6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... 1..45... .2.4.... ......7. .......8 12.45... .....6.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.45.7. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345... .234.... 12345⑥.. ......7. .......8 .2.45... 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. 1.34.... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... 1..45... .2.4.... ......7. .......8 12.45... .....6.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.45.7. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location row 5:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.345... .234.... 12345... ......7. .......8 .2.45... 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. ①.3④.... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... 1..45... .2.4.... ......7. .......8 12.45... .....6.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.45.7. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1.③45... .234.... 12345... ......7. .......8 .2.45... 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... 1..45... .2.4.... ......7. .......8 12.45... .....6.. ..3..... 3
3 1..456.. 1..45... .2.4..7. .......8 ..3..... 12.45.7. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after south column 0:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1..45... .234.... 12345... ......7. .......8 .2.45... 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... 1..45... .2.4.... ......7. .......8 12.45... .....6.. ..3..... 3
3 ①..456.. 1..45... .2.4..7. .......8 ..3..... 12.45.7. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after south column 1:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..7. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1..45... .234.... 12345... ......7. .......8 .2.45... 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ①..45... .2.4.... ......7. .......8 12.45... .....6.. ..3..... 3
3 ...456.. 1..4⑤... .2.4..7. .......8 ..3..... 12.45.7. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after south column 2:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234..⑦. .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1..45... .234.... 12345... ......7. .......8 .2.45... 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.45... .....6.. ..3..... 3
3 ...456.. 1..4.... .②.④..7. .......8 ..3..... 12.45.7. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... .2.4..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1..45... .234.... 12345... ......7. .......8 .2.45... 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.45... .....6.. ..3..... 3
3 ...456.. 1..4.... ......7. .......8 ..3..... 12.45.⑦. .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after unique location column 5:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... .②.④..7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1..45... .234.... 12345... ......7. .......8 .2.45... 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.45... .....6.. ..3..... 3
3 ...456.. 1..4.... ......7. .......8 ..3..... 12.45... .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after south column 5:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... ......7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1..45... .234.... 12345... ......7. .......8 .2.45... 12.456.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. 12.45... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.4⑤... .....6.. ..3..... 3
3 ...456.. 1..4.... ......7. .......8 ..3..... ①②.45... .2.45... 12.456.. 3
3 3 2 1 2 2 4 3
after south column 7:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... ......7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.3456.. 1..45... .234.... 12345... ......7. .......8 .2.45... ①②.④⑤6.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. ①②.④5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.4.... .....6.. ..3..... 3
3 ...456.. 1..4.... ......7. .......8 ..3..... ...45... .2.45... 12.④⑤⑥.. 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... ......7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.345⑥.. 1..45... .234.... 12345... ......7. .......8 .2.45... .....6.. 2
2 1..45... .......8 .....6.. 12.45... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.4.... .....6.. ..3..... 3
3 ...456.. 1..4.... ......7. .......8 ..3..... ...45... .2.45... 12...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... ......7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.345... 1..45... .234.... 12345... ......7. .......8 .2.45... .....6.. 2
2 1..4⑤... .......8 .....6.. 12.4⑤... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.4.... .....6.. ..3..... 3
3 ...456.. 1..4.... ......7. .......8 ..3..... ...45... .2.45... 12...... 3
3 3 2 1 2 2 4 3
after unique location column 0:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... ......7. 1....... .2.4.... 3
4 ..3.5... .2...... 1....... ..3.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.345... 1..45... .234.... 12345... ......7. .......8 .2.45... .....6.. 2
2 1..4.... .......8 .....6.. 12.4.... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.4.... .....6.. ..3..... 3
3 ...④⑤6.. 1..4.... ......7. .......8 ..3..... ...45... .2.45... 12...... 3
3 3 2 1 2 2 4 3
after west row 1:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... ......7. 1....... .2.4.... 3
4 ..3.⑤... .2...... 1....... ..③.5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.345... 1..45... .234.... 12345... ......7. .......8 .2.45... .....6.. 2
2 1..4.... .......8 .....6.. 12.4.... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.4.... .....6.. ..3..... 3
3 .....6.. 1..4.... ......7. .......8 ..3..... ...45... .2.45... 12...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... ......7. 1....... .2.4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..45... .....6.. 1..45... ..3..... 1..4.... 5
3 1.③45... 1..45... .234.... 12345... ......7. .......8 .2.45... .....6.. 2
2 1..4.... .......8 .....6.. 12.4.... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.4.... .....6.. ..3..... 3
3 .....6.. 1..4.... ......7. .......8 ..3..... ...45... .2.45... 12...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... ......7. 1....... .2.4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..4⑤... .....6.. 1..45... ..3..... 1..4.... 5
3 1..45... 1..45... .234.... 1234⑤... ......7. .......8 .2.45... .....6.. 2
2 1..4.... .......8 .....6.. 12.4.... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.4.... .....6.. ..3..... 3
3 .....6.. 1..4.... ......7. .......8 ..3..... ...45... .2.45... 12...... 3
3 3 2 1 2 2 4 3
after unique location row 2:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... ......7. 1....... .2.4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..4.... .....6.. ①..④5... ..3..... 1..4.... 5
3 1..45... 1..45... .234.... 1234.... ......7. .......8 .2.45... .....6.. 2
2 1..4.... .......8 .....6.. 12.4.... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.4.... .....6.. ..3..... 3
3 .....6.. 1..4.... ......7. .......8 ..3..... ...45... .2.45... 12...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... ......7. 1....... .2.4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..4.... .....6.. ....5... ..3..... 1..4.... 5
3 1..45... 1..45... .234.... 1234.... ......7. .......8 .2.45... .....6.. 2
2 1..4.... .......8 .....6.. 12.4.... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.4.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.4.... .....6.. ..3..... 3
3 .....6.. 1..4.... ......7. .......8 ..3..... ...4⑤... .2.45... 12...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... ......7. 1....... .2.4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..4.... .....6.. ....5... ..3..... 1..4.... 5
3 1..45... 1..45... .234.... 1234.... ......7. .......8 .2.45... .....6.. 2
2 1..4.... .......8 .....6.. 12.4.... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12.④.... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12.④.... .....6.. ..3..... 3
3 .....6.. 1..④.... ......7. .......8 ..3..... ...4.... .2.④5... 12...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... ......7. 1....... .2.4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..4.... .....6.. ....5... ..3..... 1..4.... 5
3 1..45... ①..45... .234.... 1234.... ......7. .......8 .2.45... .....6.. 2
2 1..4.... .......8 .....6.. 12.4.... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... .2..5... ①2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .234.... .234.... ....5... ......7. 1....... .②.4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..4.... .....6.. ....5... ..3..... 1..4.... 5
3 1..45... ...45... .234.... 1234.... ......7. .......8 .2.45... .....6.. 2
2 1..4.... .......8 .....6.. 12.4.... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... .②..5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .23④.... .23④.... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 1..4.... .....6.. ....5... ..3..... 1..④.... 5
3 1..45... ...45... .234.... 1234.... ......7. .......8 .2.45... .....6.. 2
2 1..4.... .......8 .....6.. 12.4.... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .23..... .23..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ①..4.... .....6.. ....5... ..3..... 1....... 5
3 1..45... ...45... .234.... 1234.... ......7. .......8 .2.45... .....6.. 2
2 1..4.... .......8 .....6.. 12.4.... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .23..... .23..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 1..45... ...45... .234.... 123④.... ......7. .......8 .2.45... .....6.. 2
2 1..4.... .......8 .....6.. 12.④.... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .23..... .23..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 1..45... ...45... .234.... 123..... ......7. .......8 .2.4⑤... .....6.. 2
2 1..4.... .......8 .....6.. 12...... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after unique location row 4:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .23..... .23..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 1..45... ...45... .234.... 123..... ......7. .......8 .2.4.... .....6.. 2
2 ①..4.... .......8 .....6.. 12...... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... .2.4.... .......8 1
4 1..45... ...45... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .23..... .23..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 1..④5... ...45... .234.... 123..... ......7. .......8 .2.4.... .....6.. 2
2 ...4.... .......8 .....6.. 12...... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... .2.4.... .......8 1
4 1..④5... ...45... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after unique location row 5:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .23..... .23..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 1...5... ...45... .234.... 123..... ......7. .......8 .2.4.... .....6.. 2
2 ...4.... .......8 .....6.. 12...... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... .②.4.... .......8 1
4 1...5... ...45... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .23..... .23..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 1...5... ...45... .234.... 123..... ......7. .......8 .2.④.... .....6.. 2
2 ...4.... .......8 .....6.. 12...... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... ...4.... .......8 1
4 1...5... ...45... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .23..... .23..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 1...5... ...45... .②34.... 1②3..... ......7. .......8 .2...... .....6.. 2
2 ...4.... .......8 .....6.. 12...... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... ...4.... .......8 1
4 1...5... ...45... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after west row 3:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .23..... .23..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 ①...5... ...4⑤... ..3④.... 1.③..... ......7. .......8 .2...... .....6.. 2
2 ...4.... .......8 .....6.. 12...... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... ...4.... .......8 1
4 1...5... ...45... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .23..... .23..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 ....5... ...4.... ..3..... 1....... ......7. .......8 .2...... .....6.. 2
2 ...4.... .......8 .....6.. 12...... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... ...4.... .......8 1
4 1...⑤... ...45... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .23..... .23..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 ....5... ...4.... ..3..... 1....... ......7. .......8 .2...... .....6.. 2
2 ...4.... .......8 .....6.. 12...... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... ...4.... .......8 1
4 1....... ...④5... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .2③..... .23..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 ....5... ...4.... ..3..... 1....... ......7. .......8 .2...... .....6.. 2
2 ...4.... .......8 .....6.. 12...... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... ...4.... .......8 1
4 1....... ....5... .2.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .2...... .②3..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 ....5... ...4.... ..3..... 1....... ......7. .......8 .2...... .....6.. 2
2 ...4.... .......8 .....6.. 12...... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... ...4.... .......8 1
4 1....... ....5... .②.4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .2...... ..3..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 ....5... ...4.... ..3..... 1....... ......7. .......8 .2...... .....6.. 2
2 ...4.... .......8 .....6.. ①2...... 12...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... ...4.... .......8 1
4 1....... ....5... ...4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .2...... ..3..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 ....5... ...4.... ..3..... 1....... ......7. .......8 .2...... .....6.. 2
2 ...4.... .......8 .....6.. .2...... 1②...... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. 12...... 12...... ...4.... .......8 1
4 1....... ....5... ...4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .2...... ..3..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 ....5... ...4.... ..3..... 1....... ......7. .......8 .2...... .....6.. 2
2 ...4.... .......8 .....6.. .2...... 1....... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. ①2...... 12...... ...4.... .......8 1
4 1....... ....5... ...4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .2...... ..3..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 ....5... ...4.... ..3..... 1....... ......7. .......8 .2...... .....6.. 2
2 ...4.... .......8 .....6.. .2...... 1....... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. .2...... 1②...... ...4.... .......8 1
4 1....... ....5... ...4.... ......7. .......8 12...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
after singleton:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .2...... ..3..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 ....5... ...4.... ..3..... 1....... ......7. .......8 .2...... .....6.. 2
2 ...4.... .......8 .....6.. .2...... 1....... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. .2...... 1....... ...4.... .......8 1
4 1....... ....5... ...4.... ......7. .......8 ①2...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
final board:
1 3 2 5 4 2 2 3
1 .......8 .....6.. .2...... ..3..... ....5... ......7. 1....... ...4.... 3
4 ..3..... .2...... 1....... ....5... ...4.... .....6.. .......8 ......7. 2
3 .2...... ......7. .......8 ...4.... .....6.. ....5... ..3..... 1....... 5
3 ....5... ...4.... ..3..... 1....... ......7. .......8 .2...... .....6.. 2
2 ...4.... .......8 .....6.. .2...... 1....... ..3..... ......7. ....5... 3
2 ......7. ..3..... ....5... .....6.. .2...... 1....... ...4.... .......8 1
4 1....... ....5... ...4.... ......7. .......8 .2...... .....6.. ..3..... 3
3 .....6.. 1....... ......7. .......8 ..3..... ...4.... ....5... .2...... 3
3 3 2 1 2 2 4 3
iniital board:
4 3 0 3 2 2
0 .2.... 123456 123456 123456 123456 123456 0
0 123456 123456 123456 123456 ...4.. 123456 0
0 123456 123456 123456 123456 123456 123456 0
0 123456 .2.... 123456 123456 123456 123456 3
3 123456 123456 123456 123456 123456 123456 0
2 123456 123456 123456 123456 123456 123456 0
0 0 2 0 2 0
after simple rule north column 0:
4 3 0 3 2 2
0 .2.... 123456 123456 123456 123456 123456 0
0 1234⑤⑥ 123456 123456 123456 ...4.. 123456 0
0 12345⑥ 123456 123456 123456 123456 123456 0
0 123456 .2.... 123456 123456 123456 123456 3
3 123456 123456 123456 123456 123456 123456 0
2 123456 123456 123456 123456 123456 123456 0
0 0 2 0 2 0
after simple rule north column 1:
4 3 0 3 2 2
0 .2.... 1234⑤⑥ 123456 123456 123456 123456 0
0 1234.. 12345⑥ 123456 123456 ...4.. 123456 0
0 12345. 123456 123456 123456 123456 123456 0
0 123456 .2.... 123456 123456 123456 123456 3
3 123456 123456 123456 123456 123456 123456 0
2 123456 123456 123456 123456 123456 123456 0
0 0 2 0 2 0
after simple rule south column 2:
4 3 0 3 2 2
0 .2.... 1234.. 123456 123456 123456 123456 0
0 1234.. 12345. 123456 123456 ...4.. 123456 0
0 12345. 123456 123456 123456 123456 123456 0
0 123456 .2.... 123456 123456 123456 123456 3
3 123456 123456 1234⑤6 123456 123456 123456 0
2 123456 123456 12345⑥ 123456 123456 123456 0
0 0 2 0 2 0
after simple rule north column 3:
4 3 0 3 2 2
0 .2.... 1234.. 123456 1234⑤⑥ 123456 123456 0
0 1234.. 12345. 123456 12345⑥ ...4.. 123456 0
0 12345. 123456 123456 123456 123456 123456 0
0 123456 .2.... 123456 123456 123456 123456 3
3 123456 123456 1234.6 123456 123456 123456 0
2 123456 123456 12345. 123456 123456 123456 0
0 0 2 0 2 0
after simple rule east row 3:
4 3 0 3 2 2
0 .2.... 1234.. 123456 1234.. 123456 123456 0
0 1234.. 12345. 123456 12345. ...4.. 123456 0
0 12345. 123456 123456 123456 123456 123456 0
0 123456 .2.... 123456 123456 12345⑥ 1234⑤⑥ 3
3 123456 123456 1234.6 123456 123456 123456 0
2 123456 123456 12345. 123456 123456 123456 0
0 0 2 0 2 0
after simple rule north column 4:
4 3 0 3 2 2
0 .2.... 1234.. 123456 1234.. 12345⑥ 123456 0
0 1234.. 12345. 123456 12345. ...4.. 123456 0
0 12345. 123456 123456 123456 123456 123456 0
0 123456 .2.... 123456 123456 12345. 1234.. 3
3 123456 123456 1234.6 123456 123456 123456 0
2 123456 123456 12345. 123456 123456 123456 0
0 0 2 0 2 0
after simple rule south column 4:
4 3 0 3 2 2
0 .2.... 1234.. 123456 1234.. 12345. 123456 0
0 1234.. 12345. 123456 12345. ...4.. 123456 0
0 12345. 123456 123456 123456 123456 123456 0
0 123456 .2.... 123456 123456 12345. 1234.. 3
3 123456 123456 1234.6 123456 1234⑤6 123456 0
2 123456 123456 12345. 123456 12345⑥ 123456 0
0 0 2 0 2 0
after simple rule west row 4:
4 3 0 3 2 2
0 .2.... 1234.. 123456 1234.. 12345. 123456 0
0 1234.. 12345. 123456 12345. ...4.. 123456 0
0 12345. 123456 123456 123456 123456 123456 0
0 123456 .2.... 123456 123456 12345. 1234.. 3
3 1234⑤⑥ 12345⑥ 1234.6 123456 1234.6 123456 0
2 123456 123456 12345. 123456 12345. 123456 0
0 0 2 0 2 0
after simple rule north column 5:
4 3 0 3 2 2
0 .2.... 1234.. 123456 1234.. 12345. 12345⑥ 0
0 1234.. 12345. 123456 12345. ...4.. 1234⑤6 0
0 12345. 123456 123456 123456 123456 123456 0
0 123456 .2.... 123456 123456 12345. 1234.. 3
3 1234.. 12345. 1234.6 123456 1234.6 123456 0
2 123456 123456 12345. 123456 12345. 123456 0
0 0 2 0 2 0
after simple rule west row 5:
4 3 0 3 2 2
0 .2.... 1234.. 123456 1234.. 12345. 12345. 0
0 1234.. 12345. 123456 12345. ...4.. 1234.6 0
0 12345. 123456 123456 123456 123456 123456 0
0 123456 .2.... 123456 123456 12345. 1234.. 3
3 1234.. 12345. 1234.6 123456 1234.6 123456 0
2 12345⑥ 1234⑤6 12345. 123456 12345. 123456 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1②34.. 1②3456 1②34.. 1②345. 1②345. 0
0 1②34.. 12345. 123456 12345. ...4.. 1234.6 0
0 1②345. 123456 123456 123456 123456 123456 0
0 1②3456 .2.... 123456 123456 12345. 1234.. 3
3 1②34.. 12345. 1234.6 123456 1234.6 123456 0
2 1②345. 1234.6 12345. 123456 12345. 123456 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.34.. 1.3456 1.34.. 1.3④5. 1.345. 0
0 1.3④.. 123④5. 123④56 123④5. ...4.. 123④.6 0
0 1.345. 123456 123456 123456 123④56 123456 0
0 1.3456 .2.... 123456 123456 123④5. 1234.. 3
3 1.34.. 12345. 1234.6 123456 123④.6 123456 0
2 1.345. 1234.6 12345. 123456 123④5. 123456 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.34.. 1.3456 1.34.. 1.3.5. 1.345. 0
0 1.3... 1②3.5. 123.56 123.5. ...4.. 123..6 0
0 1.345. 1②3456 123456 123456 123.56 123456 0
0 1.3456 .2.... 1②3456 1②3456 1②3.5. 1②34.. 3
3 1.34.. 1②345. 1234.6 123456 123..6 123456 0
2 1.345. 1②34.6 12345. 123456 123.5. 123456 0
0 0 2 0 2 0
after unique location column 0:
4 3 0 3 2 2
0 .2.... 1.34.. 1.3456 1.34.. 1.3.5. 1.345. 0
0 1.3... 1.3.5. 123.56 123.5. ...4.. 123..6 0
0 1.345. 1.3456 123456 123456 123.56 123456 0
0 ①.③④⑤6 .2.... 1.3456 1.3456 1.3.5. 1.34.. 3
3 1.34.. 1.345. 1234.6 123456 123..6 123456 0
2 1.345. 1.34.6 12345. 123456 123.5. 123456 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.34.. 1.3456 1.34.. 1.3.5. 1.345. 0
0 1.3... 1.3.5. 123.56 123.5. ...4.. 123..6 0
0 1.345. 1.3456 123456 123456 123.56 123456 0
0 .....6 .2.... 1.345⑥ 1.345⑥ 1.3.5. 1.34.. 3
3 1.34.. 1.345. 1234.6 123456 123..6 123456 0
2 1.345. 1.34.6 12345. 123456 123.5. 123456 0
0 0 2 0 2 0
after unique location row 0:
4 3 0 3 2 2
0 .2.... 1.34.. ①.③④⑤6 1.34.. 1.3.5. 1.345. 0
0 1.3... 1.3.5. 123.56 123.5. ...4.. 123..6 0
0 1.345. 1.3456 123456 123456 123.56 123456 0
0 .....6 .2.... 1.345. 1.345. 1.3.5. 1.34.. 3
3 1.34.. 1.345. 1234.6 123456 123..6 123456 0
2 1.345. 1.34.6 12345. 123456 123.5. 123456 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. 1.3.5. 1.345. 0
0 1.3... 1.3.5. 123.5⑥ 123.5. ...4.. 123..6 0
0 1.345. 1.3456 12345⑥ 123456 123.56 123456 0
0 .....6 .2.... 1.345. 1.345. 1.3.5. 1.34.. 3
3 1.34.. 1.345. 1234.⑥ 123456 123..6 123456 0
2 1.345. 1.34.6 12345. 123456 123.5. 123456 0
0 0 2 0 2 0
after unique location row 1:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. 1.3.5. 1.345. 0
0 1.3... 1.3.5. 123.5. 123.5. ...4.. ①②③..6 0
0 1.345. 1.3456 12345. 123456 123.56 123456 0
0 .....6 .2.... 1.345. 1.345. 1.3.5. 1.34.. 3
3 1.34.. 1.345. 1234.. 123456 123..6 123456 0
2 1.345. 1.34.6 12345. 123456 123.5. 123456 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. 1.3.5. 1.345. 0
0 1.3... 1.3.5. 123.5. 123.5. ...4.. .....6 0
0 1.345. 1.3456 12345. 123456 123.56 12345⑥ 0
0 .....6 .2.... 1.345. 1.345. 1.3.5. 1.34.. 3
3 1.34.. 1.345. 1234.. 123456 123..6 12345⑥ 0
2 1.345. 1.34.6 12345. 123456 123.5. 12345⑥ 0
0 0 2 0 2 0
after north column 0:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. 1.3.5. 1.345. 0
0 ①.3... 1.3.5. 123.5. 123.5. ...4.. .....6 0
0 ①.③45. 1.3456 12345. 123456 123.56 12345. 0
0 .....6 .2.... 1.345. 1.345. 1.3.5. 1.34.. 3
3 1.③4.. 1.345. 1234.. 123456 123..6 12345. 0
2 1.③45. 1.34.6 12345. 123456 123.5. 12345. 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. 1.3.5. 1.345. 0
0 ..3... 1.③.5. 12③.5. 12③.5. ...4.. .....6 0
0 ...45. 1.3456 12345. 123456 123.56 12345. 0
0 .....6 .2.... 1.345. 1.345. 1.3.5. 1.34.. 3
3 1..4.. 1.345. 1234.. 123456 123..6 12345. 0
2 1..45. 1.34.6 12345. 123456 123.5. 12345. 0
0 0 2 0 2 0
after south column 2:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. 1.3.5. 1.345. 0
0 ..3... 1...5. 12..⑤. 12..5. ...4.. .....6 0
0 ...45. 1.3456 1234⑤. 123456 123.56 12345. 0
0 .....6 .2.... 1.34⑤. 1.345. 1.3.5. 1.34.. 3
3 1..4.. 1.345. 1234.. 123456 123..6 12345. 0
2 1..45. 1.34.6 ①②③④5. 123456 123.5. 12345. 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. 1.3.5. 1.345. 0
0 ..3... 1...5. 12.... 12..5. ...4.. .....6 0
0 ...45. 1.3456 1234.. 123456 123.56 12345. 0
0 .....6 .2.... 1.34.. 1.345. 1.3.5. 1.34.. 3
3 1..4.. 1.345. 1234.. 123456 123..6 12345. 0
2 1..4⑤. 1.34.6 ....5. 1234⑤6 123.⑤. 1234⑤. 0
0 0 2 0 2 0
after unique location column 0:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. 1.3.5. 1.345. 0
0 ..3... 1...5. 12.... 12..5. ...4.. .....6 0
0 ...④5. 1.3456 1234.. 123456 123.56 12345. 0
0 .....6 .2.... 1.34.. 1.345. 1.3.5. 1.34.. 3
3 1..4.. 1.345. 1234.. 123456 123..6 12345. 0
2 1..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. 1.3.5. 1.345. 0
0 ..3... 1...5. 12.... 12..5. ...4.. .....6 0
0 ....5. 1.34⑤6 1234.. 1234⑤6 123.⑤6 1234⑤. 0
0 .....6 .2.... 1.34.. 1.345. 1.3.5. 1.34.. 3
3 1..4.. 1.345. 1234.. 123456 123..6 12345. 0
2 1..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after north column 4:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. ①.③.5. 1.345. 0
0 ..3... 1...5. 12.... 12..5. ...4.. .....6 0
0 ....5. 1.34.6 1234.. 1234.6 123..6 1234.. 0
0 .....6 .2.... 1.34.. 1.345. 1.3.⑤. 1.34.. 3
3 1..4.. 1.345. 1234.. 123456 123..6 12345. 0
2 1..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. ....5. 1.34⑤. 0
0 ..3... 1...5. 12.... 12..5. ...4.. .....6 0
0 ....5. 1.34.6 1234.. 1234.6 123..6 1234.. 0
0 .....6 .2.... 1.34.. 1.345. 1.3... 1.34.. 3
3 1..4.. 1.345. 1234.. 123456 123..6 12345. 0
2 1..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after unique location column 5:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. ....5. 1.34.. 0
0 ..3... 1...5. 12.... 12..5. ...4.. .....6 0
0 ....5. 1.34.6 1234.. 1234.6 123..6 1234.. 0
0 .....6 .2.... 1.34.. 1.345. 1.3... 1.34.. 3
3 1..4.. 1.345. 1234.. 123456 123..6 ①②③④5. 0
2 1..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. ....5. 1.34.. 0
0 ..3... 1...5. 12.... 12..5. ...4.. .....6 0
0 ....5. 1.34.6 1234.. 1234.6 123..6 1234.. 0
0 .....6 .2.... 1.34.. 1.345. 1.3... 1.34.. 3
3 1..4.. 1.34⑤. 1234.. 1234⑤6 123..6 ....5. 0
2 1..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after unique location column 1:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. ....5. 1.34.. 0
0 ..3... ①...5. 12.... 12..5. ...4.. .....6 0
0 ....5. 1.34.6 1234.. 1234.6 123..6 1234.. 0
0 .....6 .2.... 1.34.. 1.345. 1.3... 1.34.. 3
3 1..4.. 1.34.. 1234.. 1234.6 123..6 ....5. 0
2 1..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. ....5. 1.34.. 0
0 ..3... ....5. 12.... 12..⑤. ...4.. .....6 0
0 ....5. 1.34.6 1234.. 1234.6 123..6 1234.. 0
0 .....6 .2.... 1.34.. 1.345. 1.3... 1.34.. 3
3 1..4.. 1.34.. 1234.. 1234.6 123..6 ....5. 0
2 1..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after unique location column 3:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. ....5. 1.34.. 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.34.6 1234.. 1234.6 123..6 1234.. 0
0 .....6 .2.... 1.34.. ①.③④5. 1.3... 1.34.. 3
3 1..4.. 1.34.. 1234.. 1234.6 123..6 ....5. 0
2 1..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after north column 3:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. ....5. 1.34.. 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.34.6 1234.. 123④.6 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... 1.34.. 3
3 1..4.. 1.34.. 1234.. 1234.6 123..6 ....5. 0
2 1..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after south column 4:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. ....5. 1.34.. 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.34.6 1234.. 123..6 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... 1.34.. 3
3 1..4.. 1.34.. 1234.. 1234.6 ①2③..6 ....5. 0
2 1..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after east row 3:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. ....5. 1.34.. 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.34.6 1234.. 123..6 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... ①.34.. 3
3 1..4.. 1.34.. 1234.. 1234.6 .2...6 ....5. 0
2 1..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after west row 4:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. ....5. 1.34.. 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.34.6 1234.. 123..6 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... ..34.. 3
3 1..④.. ①.③4.. ①23④.. ①23④.6 .2...6 ....5. 0
2 1..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.34.. .....6 1.34.. ....5. 1.34.. 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.34.6 1234.. 123..6 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... ..34.. 3
3 1..... ...4.. .23... .23..6 .2...6 ....5. 0
2 ①..4.. 1.34.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.3④.. .....6 1.34.. ....5. 1.34.. 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3④.6 1234.. 123..6 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... ..34.. 3
3 1..... ...4.. .23... .23..6 .2...6 ....5. 0
2 ...4.. 1.3④.6 ....5. 1234.6 123... 1234.. 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.3... .....6 1.34.. ....5. 1.34.. 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3..6 1234.. 123..6 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... ..34.. 3
3 1..... ...4.. .23... .23..6 .2...6 ....5. 0
2 ...4.. 1.3..6 ....5. 123④.6 123... 123④.. 0
0 0 2 0 2 0
after unique location column 3:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ①.③4.. ....5. 1.34.. 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3..6 1234.. 123..6 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... ..34.. 3
3 1..... ...4.. .23... .23..6 .2...6 ....5. 0
2 ...4.. 1.3..6 ....5. 123..6 123... 123... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ...4.. ....5. 1.3④.. 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3..6 1234.. 123..6 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... ..34.. 3
3 1..... ...4.. .23... .23..6 .2...6 ....5. 0
2 ...4.. 1.3..6 ....5. 123..6 123... 123... 0
0 0 2 0 2 0
after north column 3:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ...4.. ....5. 1.3... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3..6 1234.. 123..⑥ 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... ..34.. 3
3 1..... ...4.. .23... .23..6 .2...6 ....5. 0
2 ...4.. 1.3..6 ....5. 123..6 123... 123... 0
0 0 2 0 2 0
after west row 5:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ...4.. ....5. 1.3... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3..6 1234.. 123... 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... ..34.. 3
3 1..... ...4.. .23... .23..6 .2...6 ....5. 0
2 ...4.. ①.③..6 ....5. 123..⑥ 123... 123... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ...4.. ....5. 1.3... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3..⑥ 1234.. 123... 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... ..34.. 3
3 1..... ...4.. .23... .23..6 .2...6 ....5. 0
2 ...4.. .....6 ....5. 123... 123... 123... 0
0 0 2 0 2 0
after unique location column 3:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ...4.. ....5. 1.3... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3... 1234.. 123... 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... ..34.. 3
3 1..... ...4.. .23... .②③..6 .2...6 ....5. 0
2 ...4.. .....6 ....5. 123... 123... 123... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ...4.. ....5. 1.3... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3... 1234.. 123... 123..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... ..34.. 3
3 1..... ...4.. .23... .....6 .2...⑥ ....5. 0
2 ...4.. .....6 ....5. 123... 123... 123... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ...4.. ....5. 1.3... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3... 1234.. 123... 1②3..6 1234.. 0
0 .....6 .2.... 1.34.. ....5. 1.3... ..34.. 3
3 1..... ...4.. .②3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 123... 1②3... 123... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ...4.. ....5. 1.3... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3... 12③4.. 123... 1.3..6 1234.. 0
0 .....6 .2.... 1.③4.. ....5. 1.3... ..34.. 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 123... 1.3... 123... 0
0 0 2 0 2 0
after unique location column 4:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ...4.. ....5. 1.3... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3... 12.4.. 123... ①.③..6 1234.. 0
0 .....6 .2.... 1..4.. ....5. 1.3... ..34.. 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 123... 1.3... 123... 0
0 0 2 0 2 0
after south column 4:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ...4.. ....5. 1.3... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3... 12.4.. 123... .....6 1234.. 0
0 .....6 .2.... 1..4.. ....5. 1.③... ..34.. 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 123... ①.3... 123... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ...4.. ....5. 1.3... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3... 12.4.. 123... .....6 1234.. 0
0 .....6 .2.... ①..4.. ....5. 1..... ..34.. 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 123... ..3... 123... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ...4.. ....5. 1.3... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3... 12.④.. 123... .....6 1234.. 0
0 .....6 .2.... ...4.. ....5. 1..... ..3④.. 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 123... ..3... 123... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... 1.3... .....6 ...4.. ....5. 1.③... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3... 12.... 123... .....6 12③4.. 0
0 .....6 .2.... ...4.. ....5. 1..... ..3... 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 123... ..3... 12③... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... ①.3... .....6 ...4.. ....5. 1..... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.3... 12.... 123... .....6 ①2.4.. 0
0 .....6 .2.... ...4.. ....5. 1..... ..3... 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 123... ..3... ①2.... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... ..3... .....6 ...4.. ....5. 1..... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1.③... 12.... 123... .....6 .2.4.. 0
0 .....6 .2.... ...4.. ....5. 1..... ..3... 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 123... ..3... .2.... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... ..3... .....6 ...4.. ....5. 1..... 0
0 ..3... ....5. 12.... 12.... ...4.. .....6 0
0 ....5. 1..... ①2.... ①23... .....6 .2.4.. 0
0 .....6 .2.... ...4.. ....5. 1..... ..3... 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 123... ..3... .2.... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... ..3... .....6 ...4.. ....5. 1..... 0
0 ..3... ....5. 1②.... 12.... ...4.. .....6 0
0 ....5. 1..... .2.... .②3... .....6 .②.4.. 0
0 .....6 .2.... ...4.. ....5. 1..... ..3... 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 123... ..3... .2.... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... ..3... .....6 ...4.. ....5. 1..... 0
0 ..3... ....5. 1..... ①2.... ...4.. .....6 0
0 ....5. 1..... .2.... ..3... .....6 ...4.. 0
0 .....6 .2.... ...4.. ....5. 1..... ..3... 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 123... ..3... .2.... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... ..3... .....6 ...4.. ....5. 1..... 0
0 ..3... ....5. 1..... .2.... ...4.. .....6 0
0 ....5. 1..... .2.... ..3... .....6 ...4.. 0
0 .....6 .2.... ...4.. ....5. 1..... ..3... 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 1②3... ..3... .2.... 0
0 0 2 0 2 0
after singleton:
4 3 0 3 2 2
0 .2.... ..3... .....6 ...4.. ....5. 1..... 0
0 ..3... ....5. 1..... .2.... ...4.. .....6 0
0 ....5. 1..... .2.... ..3... .....6 ...4.. 0
0 .....6 .2.... ...4.. ....5. 1..... ..3... 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 1.③... ..3... .2.... 0
0 0 2 0 2 0
final board:
4 3 0 3 2 2
0 .2.... ..3... .....6 ...4.. ....5. 1..... 0
0 ..3... ....5. 1..... .2.... ...4.. .....6 0
0 ....5. 1..... .2.... ..3... .....6 ...4.. 0
0 .....6 .2.... ...4.. ....5. 1..... ..3... 3
3 1..... ...4.. ..3... .....6 .2.... ....5. 0
2 ...4.. .....6 ....5. 1..... ..3... .2.... 0
0 0 2 0 2 0
class Board {
constructor(size) {
this.size = size
let all = allDigits(size)
this.cells = Array(size*size).fill(all)
this.card = Array(size*size).fill(size)
this.eliminated = Array(size*size).fill(0)
this.changed = 0
this.removed = []
}
copy() {
let b = new Board(this.size)
b.cells = this.cells.slice(0)
b.card = this.card.slice(0)
b.eliminated = this.eliminated.slice(0)
return b
}
toRowColumn(n) {
let r = Math.floor(n / this.size)
let c = n % this.size
return [r,c]
}
at(r,c) {
return this.cells[r*this.size+c]
}
atOffset(n) {
return this.cells[n]
}
northOffsets(c) {
let offsets = []
for (let r = 0; r < this.size; ++r) { offsets.push(r*this.size+c) }
return offsets
}
southOffsets(c) {
let offsets = []
for (let r = this.size-1; r >= 0; --r) { offsets.push(r*this.size+c) }
return offsets
}
eastOffsets(r) {
let offsets = []
for (let c = this.size-1; c >= 0; --c) { offsets.push(r*this.size+c) }
return offsets
}
westOffsets(r) {
let offsets = []
for (let c = 0; c < this.size; ++c) { offsets.push(r*this.size+c) }
return offsets
}
digitsAtOffset(n) {
let bits = this.atOffset(n)
let digits = []
for (let d = 1; d <= this.size; ++d) {
if (hasDigit(bits, d)) {
digits.push(d)
}
}
return digits
}
digitsAt(r,c) {
let bits = this.at(r,c)
let digits = []
for (let d = 1; d <= this.size; ++d) {
if (hasDigit(bits, d)) {
digits.push(d)
}
}
return digits
}
findSingleton(n) {
// return offset of a singleton which has not been visited
// or -1
let size = this.size
for (; n < size*size; ++n) {
if ((this.card[n] == 1) && (!this.eliminated[n])) {
return n
}
}
return -1
}
wasRemoved(r0,c0,d) {
let offset = r0*this.size+c0
for (let pair of this.removed) {
if ((pair[0] == offset) && (pair[1] == d)) {
return 1
}
}
return 0
}
removeAtOffset(offset,d) {
let r = Math.floor(offset / this.size)
let c = offset % this.size
if (hasDigit(this.cells[offset], d)) {
this.cells[offset] = removeDigit(this.cells[offset], d)
this.card[offset]--
this.changed = 1
this.removed.push( [offset, d] )
}
}
removeDigit(r,c,d) {
this.removeAtOffset(r*this.size+c, d)
}
eliminateAtOffset(n, d) {
let [r,c] = this.toRowColumn(n)
this.eliminate(r,c,d)
}
eliminate(r0,c0,d) {
let size = this.size
for (let r = 0; r < size; ++r) {
if (r != r0) { this.removeDigit(r, c0, d) }
}
for (let c = 0; c < size; ++c) {
if (c != c0) { this.removeDigit(r0, c, d) }
}
this.eliminated[r0*this.size+c0] = 1
}
assignOffset(n, d0) {
for (let d = 1; d <= this.size; ++d) {
if (d != d0) {
this.removeAtOffset(n, d)
}
}
}
}
function forDigits(size, bits, f) {
for (let d = 1; d <= size; ++d) {
if (bits & (1<<(d-1))) {
f(d);
}
}
}
function toArray(size, bits) {
let digits = []
forDigits(size, bits, (d) => digits.push(d))
return digits
}
function removeDigit(bits, d) {
return bits & (~(1<<(d-1)))
}
function addDigit(bits, d) {
return bits | (1<<(d-1))
}
function hasDigit(bits, d) {
return bits & (1<<(d-1))
}
function intersect(b1, b2) {
return b1 & b2
}
function allDigits(size) {
return (1<<size)-1
}
function isSingleton(bits) {
return bits && ((bits & (bits-1)) == 0)
}
function notEmpty(bits) {
return bits != 0
}
function empty(bits) {
return bits == 0
}
function basic_count(board, offsets, count) {
let size = board.size
if (count == 1) {
board.assignOffset( offsets[0], size )
} else if (count == 2) {
board.removeAtOffset( offsets[0], size )
board.removeAtOffset( offsets[1], size-1 )
} else if (count == size) {
for (let i = 0; i < offsets.length; ++i) {
board.assignOffset( offsets[i], i+1 )
}
} else {
for (let i = 0; i < count-1; ++i) {
for (let d = size - count + 2 + i; d <= size; ++d) {
board.removeAtOffset( offsets[i], d )
}
}
}
}
function* fill(size, cells) {
let result = Array(size).fill(0)
let avail = allDigits(size)
yield* fill0(size, cells, result, 0, avail)
}
function* fill0(size, cells, result, k, avail) {
if (k >= size) {
yield result
} else {
let ds = intersect(avail, cells[k])
for (let d = 1; d <= size; ++d) {
if (hasDigit(ds, d)) {
result[k] = d
yield* fill0(size, cells, result, k+1, removeDigit(avail, d))
}
}
}
}
function leftCount(heights) {
let count = 0
let maxh = 0
for (let k = 0; k < heights.length; ++k) {
if (heights[k] > maxh) {
count++
maxh = heights[k]
}
}
return count
}
function rightCount(heights) {
let count = 0
let maxh = 0
for (let k = heights.length-1; k >= 0; --k) {
if (heights[k] > maxh) {
count++
maxh = heights[k]
}
}
return count
}
function analyze(size, cells, predicate) {
// return which digits may be removed from each cell
let remove = cells.slice(0)
for (let r of fill(size,cells)) {
if (predicate(r)) {
for (let k = 0; k < size; ++k) {
remove[k] = removeDigit(remove[k], r[k])
}
}
}
return remove
}
function analyzeL(size, cells, left) {
return analyze(size, cells, (r) => {
return (leftCount(r) == left)
}
)
}
function singletons(board) {
let n = -1
while (1) {
n = board.findSingleton(n+1)
if (n >= 0) {
let digs = board.digitsAtOffset(n)
let d = digs[0]
board.eliminateAtOffset(n,d)
if (board.changed) {
return board
}
} else {
break
}
}
return null
}
// Check if a digit has a unique location in a row/column
function unique_location(board, offsets) {
let size = board.size
let counts = Array(size+1).fill(0)
let lastpos = Array(size+1).fill(0)
for (let n of offsets) {
let bits = board.atOffset(n)
for (let d = 1; d <= size; ++d) {
if (hasDigit(bits, d)) {
lastpos[d] = n
counts[d]++
}
}
}
for (let d = 1; d <= size; ++d) {
let n = lastpos[d]
if ((counts[d] == 1) && (board.card[n] > 1)) {
board.assignOffset(n, d);
if (board.changed) {
return board
}
}
}
}
function build_once_constraints(size, counts) {
let constraints = []
for (let c = 0; c < size; ++c) {
if (counts.north[c]) {
constraints.push(
{ name: "simple rule north column " + c,
rule: (board) => basic_count(board, board.northOffsets(c), counts.north[c]) }
)
}
if (counts.south[c]) {
constraints.push(
{ name: "simple rule south column " + c,
rule: (board) => basic_count(board, board.southOffsets(c), counts.south[c]) }
)
}
if (counts.east[c]) {
constraints.push(
{ name: "simple rule east row " + c,
rule: (board) => basic_count(board, board.eastOffsets(c), counts.east[c]) }
)
}
if (counts.west[c]) {
constraints.push(
{ name: "simple rule west row " + c,
rule: (board) => basic_count(board, board.westOffsets(c), counts.west[c]) }
)
}
}
return constraints
}
function build_constraints(size, counts) {
let constraints = []
constraints.push(
{ name: "singleton",
rule: (board) => singletons(board)
}
)
for (let c = 0; c < size; ++c) {
constraints.push(
{ name: "unique location column " + c,
rule: (board) => unique_location(board, board.northOffsets(c))
}
)
}
for (let r = 0; r < size; ++r) {
constraints.push(
{ name: "unique location row " + r,
rule: (board) => unique_location(board, board.eastOffsets(r))
}
)
}
for (let c = 0; c < size; ++c) {
if (counts.north[c]) {
constraints.push(
{ name: `north column ${c}`,
rule: (board) => singleSided(board, counts.north[c], board.northOffsets(c))
}
)
}
if (counts.south[c]) {
constraints.push(
{ name: `south column ${c}`,
rule: (board) => singleSided(board, counts.south[c], board.southOffsets(c))
}
)
}
}
for (let r = 0; r < size; ++r) {
if (counts.east[r]) {
constraints.push(
{ name: `east row ${r}`,
rule: (board) => singleSided(board, counts.east[r], board.eastOffsets(r))
}
)
}
if (counts.west[r]) {
constraints.push(
{ name: `west row ${r}`,
rule: (board) => singleSided(board, counts.west[r], board.westOffsets(r))
}
)
}
}
return constraints
}
function singleSided(board, count, offsets) {
let size = board.size
let changed = 0
let cells = []
for (let n of offsets) {
cells.push( board.cells[n] )
}
let remove = analyzeL(size, cells, count)
for (let k = 0; k < size; ++k) {
for (let d of toArray(size, remove[k])) {
board.removeAtOffset(offsets[k], d)
changed = 1
}
}
return changed ? board : null
}
function displayCell(board, r, c) {
let n = r*board.size+c
let bits = board.at(r,c)
let s = ""
for (let d = 1; d <= board.size; ++d) {
if (hasDigit(bits, d)) {
s += d
} else if (board.wasRemoved(r,c,d)) {
// s += "\x1b[31m" + d + "\x1b[0m"
s += String.fromCodePoint(0x2460 + (d-1))
} else {
s += '.'
}
}
return s
}
function cpad(n, s) {
s = ""+s
let l = Math.floor((n - s.length + 1)/2)
let r = n - s.length - l
return ' '.repeat(l) + s + ' '.repeat(r)
}
function lpad(n, s) {
return ' '.repeat(n - s.length) + s
}
function rpad(n, s) {
return s + ' '.repeat(n - s.length)
}
function displayBoard(board, counts) {
let t = " ".repeat(board.size)
for (let c of counts.north) { t += " " + cpad(board.size, c) }
console.log(t)
for (let r = 0; r < board.size; ++r) {
let s = cpad(board.size, counts.west[r])
for (let c = 0; c < board.size; ++c) {
s += " " + displayCell(board, r, c)
}
s += " " + counts.east[r]
console.log(s)
}
let u = " ".repeat(board.size)
for (let c of counts.south) { u += " " + cpad(board.size, c) }
console.log(u)
}
function scan(constraints, board) {
let b = board.copy()
for (let c of constraints) {
c.rule(b)
if (b.changed) {
return [b, c]
}
}
return null
}
function solveBlank(size, cnts) {
return solve(size, cnts, Array(size*size).fill(0) )
}
function solve(size, cnts, initial) {
if (cnts.length != 4*size) {
throw "bad count length"
}
if (initial.length != size*size) {
throw `bad initial board size: ${initial.length} != ${size*size}`
}
let board = new Board(size)
let counts = {}
counts.north = cnts.slice(0, size)
counts.east = cnts.slice(size, 2*size)
counts.south = cnts.slice(2*size, 3*size).reverse()
counts.west = cnts.slice(3*size,4*size).reverse()
for (let n = 0; n < size*size; ++n) {
if (initial[n] > 0) {
board.assignOffset(n, initial[n])
}
}
board = board.copy()
console.log("iniital board:")
displayBoard(board, counts)
let once_constraints = build_once_constraints(size, counts)
for (let c of once_constraints) {
board.changed = 0
c.rule(board)
if (board.changed) {
console.log(`\nafter ${c.name}:`)
displayBoard(board, counts)
}
board = board.copy()
}
let constraints = build_constraints(size, counts)
board = board.copy()
while (1) {
let bc = scan(constraints, board)
if (bc) {
let [b,c] = bc
console.log(`\nafter ${c.name}:`)
displayBoard(b, counts)
board = b
} else {
break
}
}
console.log("\nfinal board:")
displayBoard(board.copy(), counts)
return [board, counts]
}
function toIntArray(s) {
return s.trim().split(/\s+/).map( (x) => parseInt(x,10) )
}
function challenge1() {
solveBlank( 4, [3, 1, 2, 2, 2, 2, 1, 3, 2, 2, 3, 1, 1, 2, 3, 2 ] )
}
function challenge2() {
solveBlank( 4, [0, 0, 0, 0, 0, 2, 0, 0, 3, 0, 0, 0, 1, 3, 0, 3 ] )
}
function test5() {
solveBlank( 4, [1, 3, 2, 2, 3, 2, 1, 2, 2, 2, 1, 3, 2, 2, 3, 1 ])
}
function test6() {
solveBlank( 5, [4, 2, 2, 1, 3, 2, 3, 2, 1, 4, 2, 5, 2, 2, 1, 1, 2, 2, 2, 4 ])
}
function test7() {
solveBlank( 5, [2, 4, 1, 3, 4, 3, 3, 2, 1, 3, 2, 3, 2, 1, 2, 2, 3, 3, 1, 2])
}
function bonus1() {
solve(8,
toIntArray("1 3 2 5 4 2 2 3 3 2 5 2 3 1 3 3 3 4 2 2 1 2 3 3 3 4 2 2 3 3 4 1"),
toIntArray(`
0 6 0 0 5 0 1 0
0 2 1 0 0 0 0 0
2 0 0 0 6 0 3 0
0 0 0 0 0 8 0 0
0 0 6 0 0 3 7 0
0 0 5 0 0 0 0 0
0 0 0 0 0 0 0 3
0 0 0 0 3 0 0 0
`)
)
}
function bonus2() {
solve(6,
toIntArray("4 3 0 3 2 2 0 0 0 3 0 0 0 2 0 2 0 0 2 3 0 0 0 0"),
toIntArray(`
2 0 0 0 0 0
0 0 0 0 4 0
0 0 0 0 0 0
0 2 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
`)
)
}
function numberRange (start, end) {
return new Array(end - start).fill().map((d, i) => i + start);
}
function rules(size) {
for (let v = 1; v <= size; ++v) {
let board = new Board(size)
let all = allDigits(size)
let cells = Array(size).fill(all)
let remove = analyzeL(size, cells, v)
console.log("count", v, ":", remove.map((bits) => toArray(size, bits)) )
}
}
// rules(8)
bonus1()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment