请回答下列问题:
要求:⑴在页眉处插入日期,且能自动更新,右对齐;在页脚出插入x/y样式的页码页数
⑵纸张自定义大小宽度为22,高度为12,纸张方向为横向
⑶正文首行缩进2字符,第2-8段添加项目符号
下列说法正确的是( )
下列说法正确的是( )
图a
解决该问题的算法思想如下:
①从第一行开始逐行放置棋子。
②每行从左到右逐列尝试放置棋子,放置之前与已放置的棋子作比对。
③若无冲突,放置该行棋子并跳转至下一行。
④若有冲突,则在本行中向右继续寻找放置棋子的位置,若找不到则返回上一行,重新寻找棋子放置位置。
⑤最后一行放置结束,输出一种方案并继续寻找下一方案。用 VB程序实现该算法,程序界面设计如图b所示。
图b
Const n = 6
Dim a(1 To n) As Integer
Dim m As Integer
Private Sub Command1_Click( )
Dim i As Integer, j As Integer m = 0
For i = 1 To n
a(i) = 0 'a(i)存储第 i 行放置棋子的列号
Next i
For i = 1 To n + 1
If i = n + 1 Then '所有行棋子放置完毕,输出一种方案
m = m + 1
s = ""
For j = 1 To n
s = s + Str(j) + ":" + Str(a(j)) + "|"
Next j
List1.AddItem s
i = i - 2
Else '寻找下一行棋子放置位置
j = a(i) + 1
Do While j <= n And check(i, j) = False
Loop
If j <= n Then
a(i) = j
Else
a(i) = 0
If i < 0 Then Exit For
End If
End If
Next i
Label1.Caption = "共有" + Str(m) + "种方案"
End Sub
'判断当前放置的棋子与已放置有无冲突
Function check(i As Integer, j As Integer) As Boolean check = True
For k = 1 To i - 1
If a(k) = j Or j + i = a(k) + k OrThen
check = False
End If Next k
End Function
下列说法正确的是( )