◆広島県 清川 育男 さんからの解答
1) ( 1 , 2 ) NO. 1 ( 1 , 2 )( 2 , 4 )( 1 , 6 )( 3 , 5 )( 1 , 4 ) ( 3 , 3 )( 2 , 1 )( 1 , 3 )( 3 , 2 )( 4 , 4 ) ( 3 , 6 )( 1 , 7 )( 2 , 9 )( 3 , 7 )( 1 , 8 ) ( 2 , 6 )( 3 , 4 )( 4 , 6 )( 3 , 8 ) NO. 2 ( 1 , 2 )( 2 , 4 )( 1 , 6 )( 3 , 5 )( 1 , 4 ) ( 3 , 3 )( 2 , 1 )( 1 , 3 )( 3 , 2 )( 4 , 4 ) ( 3 , 6 )( 1 , 7 )( 2 , 9 )( 3 , 7 )( 1 , 8 ) ( 2 , 6 )( 3 , 8 )( 4 , 6 )( 3 , 4 ) NO. 3 ( 1 , 2 )( 2 , 4 )( 1 , 6 )( 3 , 5 )( 1 , 4 ) ( 3 , 3 )( 2 , 1 )( 1 , 3 )( 3 , 2 )( 4 , 4 ) ( 3 , 6 )( 1 , 7 )( 3 , 8 )( 4 , 6 )( 3 , 4 ) ( 2 , 6 )( 1 , 8 )( 3 , 7 )( 2 , 9 ) NO. 4 ( 1 , 2 )( 2 , 4 )( 1 , 6 )( 3 , 5 )( 1 , 4 ) ( 3 , 3 )( 2 , 1 )( 1 , 3 )( 3 , 4 )( 4 , 6 ) ( 3 , 8 )( 2 , 6 )( 1 , 8 )( 3 , 7 )( 2 , 9 ) ( 1 , 7 )( 3 , 6 )( 4 , 4 )( 3 , 2 ) NO. 5 ( 1 , 2 )( 2 , 4 )( 3 , 2 )( 4 , 4 )( 3 , 6 ) ( 1 , 7 )( 2 , 9 )( 3 , 7 )( 1 , 6 )( 3 , 5 ) ( 1 , 4 )( 3 , 3 )( 2 , 1 )( 1 , 3 )( 3 , 4 ) ( 4 , 6 )( 3 , 8 )( 2 , 6 )( 1 , 8 ) NO. 6 ( 1 , 2 )( 2 , 4 )( 3 , 2 )( 4 , 4 )( 3 , 6 ) ( 1 , 7 )( 2 , 9 )( 3 , 7 )( 1 , 8 )( 2 , 6 ) ( 3 , 8 )( 4 , 6 )( 3 , 4 )( 1 , 3 )( 2 , 1 ) ( 3 , 3 )( 1 , 4 )( 3 , 5 )( 1 , 6 ) NO. 7 ( 1 , 2 )( 2 , 4 )( 3 , 6 )( 4 , 4 )( 3 , 2 ) ( 1 , 3 )( 2 , 1 )( 3 , 3 )( 1 , 4 )( 3 , 5 ) ( 1 , 6 )( 3 , 7 )( 1 , 8 )( 2 , 6 )( 3 , 4 ) ( 4 , 6 )( 3 , 8 )( 1 , 7 )( 2 , 9 ) NO. 8 ( 1 , 2 )( 2 , 4 )( 3 , 6 )( 4 , 4 )( 3 , 2 ) ( 1 , 3 )( 2 , 1 )( 3 , 3 )( 1 , 4 )( 3 , 5 ) ( 1 , 6 )( 3 , 7 )( 2 , 9 )( 1 , 7 )( 3 , 8 ) ( 4 , 6 )( 3 , 4 )( 2 , 6 )( 1 , 8 ) NO. 9 ( 1 , 2 )( 3 , 3 )( 1 , 4 )( 3 , 5 )( 1 , 6 ) ( 2 , 4 )( 3 , 2 )( 4 , 4 )( 3 , 6 )( 1 , 7 ) ( 2 , 9 )( 3 , 7 )( 1 , 8 )( 2 , 6 )( 3 , 8 ) ( 4 , 6 )( 3 , 4 )( 1 , 3 )( 2 , 1 ) NO. 10 ( 1 , 2 )( 3 , 3 )( 2 , 1 )( 1 , 3 )( 3 , 2 ) ( 4 , 4 )( 3 , 6 )( 2 , 4 )( 1 , 6 )( 3 , 5 ) ( 1 , 4 )( 2 , 6 )( 1 , 8 )( 3 , 7 )( 2 , 9 ) ( 1 , 7 )( 3 , 8 )( 4 , 6 )( 3 , 4 ) NO. 11 ( 1 , 2 )( 3 , 3 )( 2 , 1 )( 1 , 3 )( 3 , 2 ) ( 4 , 4 )( 3 , 6 )( 2 , 4 )( 1 , 6 )( 3 , 5 ) ( 1 , 4 )( 2 , 6 )( 3 , 4 )( 4 , 6 )( 3 , 8 ) ( 1 , 7 )( 2 , 9 )( 3 , 7 )( 1 , 8 ) NO. 12 ( 1 , 2 )( 3 , 3 )( 2 , 1 )( 1 , 3 )( 3 , 4 ) ( 4 , 6 )( 3 , 8 )( 1 , 7 )( 2 , 9 )( 3 , 7 ) ( 1 , 8 )( 2 , 6 )( 1 , 4 )( 3 , 5 )( 1 , 6 ) ( 2 , 4 )( 3 , 2 )( 4 , 4 )( 3 , 6 ) NO. 13 ( 1 , 2 )( 3 , 3 )( 2 , 1 )( 1 , 3 )( 3 , 4 ) ( 4 , 6 )( 3 , 8 )( 1 , 7 )( 2 , 9 )( 3 , 7 ) ( 1 , 8 )( 2 , 6 )( 1 , 4 )( 3 , 5 )( 1 , 6 ) ( 2 , 4 )( 3 , 6 )( 4 , 4 )( 3 , 2 ) NO. 14 ( 1 , 2 )( 3 , 3 )( 2 , 1 )( 1 , 3 )( 3 , 4 ) ( 4 , 6 )( 3 , 8 )( 1 , 7 )( 3 , 6 )( 4 , 4 ) ( 3 , 2 )( 2 , 4 )( 1 , 6 )( 3 , 5 )( 1 , 4 ) ( 2 , 6 )( 1 , 8 )( 3 , 7 )( 2 , 9 ) NO. 15 ( 1 , 2 )( 3 , 3 )( 2 , 1 )( 1 , 3 )( 3 , 4 ) ( 4 , 6 )( 3 , 8 )( 2 , 6 )( 1 , 4 )( 3 , 5 ) ( 1 , 6 )( 2 , 4 )( 3 , 2 )( 4 , 4 )( 3 , 6 ) ( 1 , 7 )( 2 , 9 )( 3 , 7 )( 1 , 8 ) NO. 16 ( 1 , 2 )( 3 , 3 )( 2 , 1 )( 1 , 3 )( 3 , 4 ) ( 4 , 6 )( 3 , 8 )( 2 , 6 )( 1 , 8 )( 3 , 7 ) ( 2 , 9 )( 1 , 7 )( 3 , 6 )( 4 , 4 )( 3 , 2 ) ( 2 , 4 )( 1 , 6 )( 3 , 5 )( 1 , 4 ) 2) ( 1 , 3 ) 解なし*****************************************◆以下 省略
全リストはこちらです。
◆埼玉県 angel さんからの解答
PDFファイル(109KB)
◆愛知県 Y.M.Ojisan さんからの解答
【問題1】
◆ 問題へもどる
◆ 今週の問題へ
(2,1)→(1,3)→(3,4)→(4,6)→(3,8)→
(2,6)→(1,8)→(3,7)→(1,6)→(3,5)→
(1,4)→(3,3)→(1,2)→(2,4)→(3,2)→
(4,4)→(3,6)→(1,7)→(2,9)→
【問題2】 出発点として選ぶことができないマス目はある。
(1) 下図は経路がループとなると仮定して必然経路を探索したものであるが、経路は結局閉じることはできない。
つまりループした巡回経路はない。
(2) ここで(3−3)のマス目に注目する。
下図に示すように、飛ぶ方向は3方向であり、そのうち2方向は飛ぶ方向が2方向しかないマス目に接続している。
従って、(3−3)を始点とし、(3−4)の
一方、(2−1)か(1−2)の方に飛ぶ(下図右鏡面対称図参照)と、(1−2)か(2−1)が終点となる。
この場合さらに(3−3)に飛ぶことができ、ループが可能となる。
これは(1)に矛盾する。
よって少なくとも(3−3)は始点とはなりえない。

【問題3】 92通り
各始点からの経路数詳細は下図参照。
なお、始点となりえないマスは7個ある。

探索はエクセルBASICによった。
予め、巡回すべきマス(BOARD.セル)に1を入れて実行する。
【プログラム】Dim BOARD
Dim RESULT
Dim TOT
Dim DI(8), DJ(8)
Sub main()
WD = 9
HT = 4
N = 0
Set BOARD = Range(Cells(3, 3), Cells(2 + HT, 2 + WD))
Set RESULT = Range(Cells(5 + HT, 3), Cells(4 + 2 * HT, 2 + WD))
DI(1) = 1:DJ(1) = 2
DI(2) = 1:DJ(2) = -2
DI(3) = -1:DJ(3) = 2
DI(4) = -1:DJ(4) = -2
DI(5) = 2:DJ(5) = 1
DI(6) = 2:DJ(6) = -1
DI(7) = -2:DJ(7) = 1
DI(8) = -2:DJ(8) = -1
For i = 1 To HT
For j = 1 To WD
If BOARD.Cells(i, j).Value = 1 Then N = N + 1
Next j, i
RESULT.ClearContents
For i = 1 To HT
For j = 1 To WD
TOT = 0
If BOARD.Cells(i, j).Value = 1 Then
BOARD.Cells(i, j).Value = N
Call proc(N - 1, i, j)
BOARD.Cells(i, j).Value = 1
RESULT.Cells(i, j) = TOT
End If
Next j, i
End Sub
Sub proc(LL, i, j)
For K = 1 To 8
ix = i +DI(K)
jx = j +DJ(K)
If BOARD.Cells(ix, jx).Value = 1 Then
If LL > 1 Then
BOARD.Cells(ix, jx).Value = LL
Call proc(LL - 1, ix, jx)
BOARD.Cells(ix, jx).Value = 1
Else
TOT = TOT + 1
' MsgBox TOT
End If
End If
Next K
End Sub