1)路线每个位置只能向右或向下;
2)任何一个岔口优向右走,右侧不通再向下走;
3)一条路线中每个位置只能走一次,不能重复算法思路。探路过程中,记录每个位置坐标到数组lu;遇到岔路口(向右向下都通),则记录路口坐标到数组cha;遇到前方无路时,需要返回到上一个路口,标记路口右侧不通;当前方无路,岔路口数组也退回到0,说明整体不通否则根据规则走到右下角为止,最后输出整体线路坐标。实现算法的程序如下,运行结果如图所示。

回答下列问题:
(1)根据规则,如图迷宫矩阵,将第1行第3列值修改为0,正确路线的第6个位置是a数组的第_______个元素。(填数字)
(2)在程序划线处填上合适代码,使程序完整。
Dim a(1 To 50) As Integer
Private Sub Form_Load()
’生成图形矩阵的数组a各个元素,并在列表框显示,代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, pos As Integer
Dim cha(1 To 10) As Integer’记录一条线路中各个岔路口
Dim lu(1 To 10) As Integer’记录路线经过的位置
pos=1:j=0:lu(1)=1:i=1
Do While<=9’第1个和最后1个固定,中间有9个需要路过的路径点
If pos Mod 6<> 0 And a(pos+1)=1 Then’向右畅通
If pos+6<=30 And a(pos+6)=1 Then’记录岔路口
j=j+1_________
End If
pos=pos+1
i=i+1
_________
ElseIf pos+6<=30 And a (pos+6)=1 Then’向下畅通
pos=pos+6
i=i+1
lu(i)=pos
Else’坐标退回到上一个岔路口
If j=0 Then Exit Do
Do While lu(i)<>cha(j)
_________
Loop
a(cha(j)+1)=0’标记此路口右侧不可用
pos=cha(j)
j=j-1
End If
LoopText1.Text=“”
If j=0 Then
Text1.Text= “没有畅通道路”
ElseFor i=1 To 10
Text1.Text=Text1.Text+Str(lu(i))Next i
End IfEnd Sub

同类型试题

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2


y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

