问答题
[说明]
有一种游戏,其规则如下:有一个3×3的方格,每个方格中只可画“+”符号或“-”符号,表示该方格的值。图1(a)定义了各方格的位置,下表为每个方格位置定义了与其相关联的位置集,各方格的初值如图1(b)所示。游戏开始后,每次可选一个值为“+”的方格位置,然后根据表中将该位置所对应的每个相关联的位置上的符号重画成与其不同的符号,即将“+”重画成“-”,将“-”重画成“+”。重画操作可用所选的位置编号来描述。例如,在如图1(b)所示的情况下,选择位置4时,重画结果如图1(c)所示。经过连续的若干次这样的操作后,当3×3方格呈现出如图1(d)所示的图形时,表示获胜;当呈现出如图1(e)所示的图形时,表示失败。
图2所示的流程图旨在输出从初始状态出发直至获胜的重画操作(即所选的位置编号)序列。图中假定数组A[0..8]存放3×3方格的值,数组c[0..8][1..5]存放表中所示的各方格位置的相关联的位置集、数组d[0..8]存放各方格位置的相关联的位置个数,数组元素S[1]~S[k]存放各次重画操作所对应的位置编号,变量N存放3×3方格中当前的“+”符号的个数。
问答题
填充图2中的(1)~(4)。
【正确答案】
【答案解析】(1)S[k]=i (2)N=N-1 (3)N=N+1 (4)A[4]="-"
问答题
应与A、B、C中的哪一点连接?
问答题
如果每次由游戏者选择方格改由程序自动枚举选择,那么为从初态出发求出所有可能的获胜重画操作序列,在哪些情况下需要进行回溯处理?
【正确答案】
【答案解析】在以下情况下需要进行回溯处理。
(1)获胜。
(2)失败。
(3)出现了以前出现过的图形。
(4)一种图形的枚举选择完。