网格形路径(算法源码)
来源:互联网 发布:汉诺塔算法复杂度 编辑:程序博客网 时间:2024/05/15 23:52
'1----2----3
'| | |
'4----5----6
'| | |
'7----8----9
'田字形网格上有9个点 , 现要求的是
'编程列举出从任意一点到另外任意一点的所有路径. (每个点只能走一次)
将以下内容存为文本文件,并将文件扩展名改为 .frm
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3930
ClientLeft = 60
ClientTop = 345
ClientWidth = 7620
LinkTopic = "Form1"
ScaleHeight = 3930
ScaleWidth = 7620
StartUpPosition = 3 '窗口缺省
Begin VB.ComboBox Combo2
Height = 300
Left = 2160
TabIndex = 6
Text = "Combo1"
Top = 2400
Width = 615
End
Begin VB.ComboBox Combo1
Height = 300
Left = 600
TabIndex = 5
Text = "1"
Top = 2400
Width = 615
End
Begin VB.TextBox Text3
Height = 3855
Left = 3120
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 4
Top = 0
Width = 4455
End
Begin VB.CommandButton Command1
Caption = "求解"
Height = 375
Left = 1920
TabIndex = 0
Top = 3240
Width = 1095
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "终点:"
Height = 180
Index = 1
Left = 1560
TabIndex = 3
Top = 2490
Width = 540
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "起点:"
Height = 180
Index = 0
Left = 0
TabIndex = 2
Top = 2490
Width = 540
End
Begin VB.Label Label1
Caption = $"Form1.frx":0000
Height = 1455
Left = 0
TabIndex = 1
Top = 240
Width = 3015
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'1----2----3
'| | |
'4----5----6
'| | |
'7----8----9
'田字形网格上有9个点 , 现要求的是
'编程列举出从任意一点到另外任意一点的所有路径. (每个点只能走一次)
Dim a(2, 2) As Boolean, x, y, b(8)
Private Sub Command1_Click()
Dim wzs As Integer, mbs As Integer
Erase a
x = Array(-1, 0, 1, 0)
y = Array(0, -1, 0, 1)
wzs = Combo1.Text: mbs = Combo2.Text
a((wzs - 1) Mod 3, (wzs - 1) / 3) = True: b(0) = wzs
Text3 = " 从起点位置【" & wzs & "】到终点位置【" & mbs & "】的不重复的路径为:" & vbCrLf
Call dg(1, wzs, mbs, a)
End Sub
Sub dg(t, wz, mb, a)
Dim i As Integer, x1 As Integer, y1 As Integer, sz As Integer, j As Integer
For i = 0 To 3
x1 = (wz - 1) Mod 3 + x(i): y1 = (wz - 1) / 3 + y(i)
If x1 >= 0 And y1 >= 0 And x1 < 3 And y1 < 3 Then
If a(x1, y1) = False Then
sz = y1 * 3 + x1 + 1: b(t) = sz
If sz = mb Then
For j = 0 To t
Text3 = Text3 & b(j) & IIf(j < t, " → ", "")
Next: Text3 = Text3 & vbCrLf
Else
a(x1, y1) = True
dg t + 1, sz, mb, a
a(x1, y1) = False
End If
End If
End If
Next
End Sub
Private Sub Form_Load()
Dim i As Integer
For i = 1 To 9
Combo1.AddItem i
Combo2.AddItem i
Next
Combo1.Text = 1
Combo2.Text = 9
End Sub
- 网格形路径(算法源码)
- 面试题-基础-网格移动路径算法
- 网格路径
- A*算法 路径源码
- 三维网格精简算法(Quadric Error Metrics)附源码(一)
- 三维网格精简算法(Quadric Error Metrics)附源码(二)
- 网格细分算法(Catmull-Clark subdivision & Loop subdivision)附源码
- 网格算法
- A*算法求最短路径 java 源码(拿来即可用)
- 网格形变算法(Gradient-Based Deformation)
- 网格分割算法(Random Walks)
- 网格聚类算法(一)
- 网格聚类算法(二)
- 网格聚类算法(三)
- 网格离散曲率算法(二次曲面拟合)
- 一个简单网格游戏,可以寻找到网格最短路径(源代码)
- #bzoj3391#小球游戏(数论 + 网格路径模型)
- noip模拟赛 小球游戏 cqbzoj3391(网格路径模型)
- 像素是什么意思?
- CSDN Blog 的离线发布工具
- Mozilla Firefox中使用Flashget等下载工具的方法
- JAVA FAQ链接
- Tomcat默认管理员密码为空时.......
- 网格形路径(算法源码)
- SQL注入漏洞全接触--入门篇
- WebsphereApplicationServerNetworkDeployment V6.0的开发部署中的常见问题(初级)
- SQL注入漏洞全接触--进阶篇
- 费氏搜索法
- FileWriter类 示例
- 郁闷中!
- 无法启动jbuilder2005
- Basics of the Unix Philosophy