首页 > 学生作文 > 读后感 >

Java面试技巧:B点连接的边为2个点

| 佚名

照片

b 图片

现有的VB程序是用来判断某个图形是否可以一笔画出来的。 如果可以的话,它将通过穷举枚举边的顺序来找到一条合法路径。 例如,图c中有3条边。 第一个由①②连接,第二个由④③连接,第三个由③②连接。 如果边231的顺序是合法边顺序之一,则意味着首先绘制第二边。 ,然后追踪第三条边,最后追踪第一条边,对应路径④->③->②->①。 程序运行过程中,在文本框Text1中输入点的数量n,即表示图中编号为1~n的n个点。 在文本框 Text2 中输入点数。 每两个点代表一条边(确保输入是偶数个点),以“,”开头。 点击“一笔画”按钮后,将结果输出进去。如果可以一笔划完成,就会输出一条路径。 否则会提示“无法画一笔!”。 程序界面如图c所示:

c图片

(1) 在文本 1 中输入“4”,在文本 2 中输入“,2,3,1,2,2,4”。 输出结果为。

(2) 实现上述功能的VB程序如下。 请在下划线区域填写适当的代码。

调暗 n As , t As , m As , i As , j As

尺寸 As 、u As 、st As 、p As Long

变暗 a(21) As , b(11) As , f(11) As

Dim c(11) As '用于存储笔划每一边的序号

暗淡 As、ss As

子()

n = Val(文本1.文本)

s = Text2.Text: t = 0

对于 j = 1 至 Len(s)

ch = 中(s, j, 1)

如果 ch = "," 那么

b(a(t)) = b(a(t)) + 1

t=t+1

a(t) = 0

别的

a(t) = a(t) * 10 + Val(ch)

万一

下一个

①:m=t\2:ans=0

st = 1

对于 i = 1 到 n

如果 b(i) Mod 2 = 1 则 ans = ans + 1: st = i

接下来我

如果 ans = 0 或 ans = 2 那么

For p = 1 To m ^ m'边的穷举顺序

如果尝试(p) 那么

u = st: ss = Str(u)

对于 j = 1 至 m

If (a(c(j) * 2) u) And (a(c(j) * 2 - 1) u) 然后退出

若② u = a(c(j) * 2 - 1) 否则 u = a(c(j) * 2)

ss = ss + “->” + Str(u)

下一个

如果 j > m 则退出

万一

下一页

别的

ss = "一笔都画不出来!"

万一

.=SS

结束子

try(x As Long) As '生成边的访问序列并判断是否存在重复边

变暗为,y为长

y = x

对于 k = 1 至 m

c(k) = y Mod m + 1: y = y \ m

如果 f(c(k)) = x 则退出

③_____

下一个 k

如果 k > m 则 try = True 否则 try = False

结尾

上一篇:阿骨打为什么把皇位传给弟弟,而不是儿子?

下一篇:2017年中考语文总复习:总结应该包括什么内容?

相关推荐