阅读以下说明和流程图,从供选择的答案中选出入流程图(n)处的字句写在答题纸的对应栏内。 【说明】 一个印刷电路板的区域可分成n×m个方格,如图3-1(a)所示,现在需要确定电路板中给定的两个方格的中心点之间的最短方案。电路只能沿水平或垂直方向,如图3-1(b)中虚线所示。为了避免线路相交,已布过线的方格做封锁标记,其他线路不允许穿过被封锁的方格。 设给定印刷电路板的起始方格x与目的方格y尚未,求这两个方格间最短方案的基本思路是:从起始方格x开始,先考查距离起始方格距离为1的可达方格并用一个路径长度值标记,然后依次考查距离为2,3,…的可达方格,直到距离为k的某一个可达方格就是目标方格y时为止,或者由于不存在从x到y的方案而终止。区域中的每一个方格与其相邻的上、下、左、右四个方格之间的距离为1,依次沿下、右、上、左这四个方向考查,并用一个队列记录可达方格的位置。表3-1给出了沿这四个方向前进1相对于当前方格的相对偏移量。 例如,设印刷电路板的区域可划分为一个6×8的方格阵列,如图3-2(a)所示,其中阴影表示已封锁方格。从起始方格x(位置[3,2],标记为0)出发,按照下、右、上、左的方向依次考查,所标记的可达方格如图3-2(a)所示,目标方格为y(位置[4,7],标记为10),相应的最短路径如图3-2(b)虚线所示。 【图3-2】 图3-3和图3-4所示的流程图即利用上述思路,在电路板方格阵列中进行标记,图 中使用的主要符号如表3-2所示。在图3-4中,设置电路板初始格局即将可方格置为数值-1、已方格(即封锁方格)置为-9。设置方格阵列“围墙”的目的是省略方格位置的边界条件判定,方法是在四周附加方格,并将其标记为-9(与封锁标记相同)。 供选择的答案 A.Found≠true B.Found=true C.T=EndPos D.Q.insert(T) E.T←Q.delete() F.CurPos=EndPos G.i≥4 H.CurPos←Q.delete() I.Grid[T.row,T.col]=-1 J.Grid[T.row,T.col]≠-1