Public Class Form1Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.LoadlblTell.Text = "输入比赛人数(双数,大于8时必须是16、32或64),进行单循环赛程安排"lblNum.Text = "比赛人数"End SubPrivate Sub btnCal_Click(sender As Object, e As EventArgs) Handles btnCal.ClickDim intNum, intI, intJ, intCal(,) As IntegerIf IsNumeric(txtNum.Text) ThenTryintNum = CInt(txtNum.Text)If intNum > 0 AndAlso intNum < 65 AndAlso (intNum <= 8 AndAlso intNum Mod 2 = 0) OrElse intNum = 16 OrElse intNum = 32 OrElse intNum = 64 ThenReDim intCal(intNum, intNum)'赛程安排计算gameCal(1, intNum, intCal)'显示计算结果'清除原数据dgvCal.Columns.Clear()dgvCal.Rows.Clear()'添加各列,并加表头dgvCal.Columns.Add(0, "")For intI = 1 To intNum - 1dgvCal.Columns.Add(intI, "第" & intI & "场")Next'输出各行数据'显示多了一行空行,不如原因For intI = 1 To intNumdgvCal.Rows.Add()For intJ = 1 To intNumdgvCal.Rows(intI - 1).Cells(intJ - 1).Value = intCal(intI, intJ)NextNextElseMsgBox("错误,数字不是正整数,双数,大于8时必须是16、32或64")End IfCatch ex As ExceptionMsgBox("错误,数字超过正常范围")End TryElseMsgBox("错误,输入的不是数字")End IfEnd SubPrivate Sub gameCal(ByVal intK As Integer, ByVal intN As Integer, ByRef intCal(,) As Integer)'处理编号intK开始的intN个选手的赛程'分治算法,有一定的局限,重点在于算法的思路'算法的思路是化整为零,先找出小块的规律,再看整块与小块规律分布Dim intI, intJ As IntegerIf intN = 2 Then '小块的规律intCal(intK, 1) = intK '参赛选手编号intCal(intK, 2) = intK + 1 '对阵选手编号intCal(intK + 1, 1) = intK + 1 '参赛选手编号intCal(intK + 1, 2) = intK '对阵选手编号ElsegameCal(intK, intN / 2, intCal) '化成小块,左上角,1/4块gameCal(intK + intN / 2, intN / 2, intCal) '化成小块,右正解,1/4块For intI = intK To intK + intN / 2 - 1 '填充右上角For intJ = intN / 2 + 1 To intNintCal(intI, intJ) = intCal(intI + intN / 2, intJ - intN / 2)NextNextFor intI = intK + intN / 2 To intK + intN - 1 '填充左下角For intJ = intN / 2 + 1 To intNintCal(intI, intJ) = intCal(intI - intN / 2, intJ - intN / 2)NextNextEnd IfEnd SubPrivate Sub 作品集ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 作品集ToolStripMenuItem.ClickProcess.Start("https://pan.baidu.com/s/1jr_3Yt5l1i6jNNbMy4R61A")My.Computer.Clipboard.Clear()My.Computer.Clipboard.SetText("5ycz")MsgBox("提取码5ycz已复制,直接到网页粘贴即可")End SubPrivate Sub 更新下载ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 更新下载ToolStripMenuItem.ClickProcess.Start("https://pan.baidu.com/s/1A1GKYW3RHxGMghScxK4Nsw")My.Computer.Clipboard.Clear()My.Computer.Clipboard.SetText("zxei")MsgBox("提取码zxei已复制,直接到网页粘贴即可")End SubPrivate Sub 代码浏览ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 代码浏览ToolStripMenuItem.ClickProcess.Start("https://blog.csdn.net/kguncn/article/details/109262504")End Sub
End Class

分治算法实例:赛程安排(VB.net代码)相关推荐

  1. 快速排序 c++_算法浅谈——分治算法与归并、快速排序(附代码和动图演示)

    本文始发于个人公众号:TechFlow 在之前的文章当中,我们通过海盗分金币问题详细讲解了递归方法. 我们可以认为在递归的过程当中,我们通过函数自己调用自己,将大问题转化成了小问题,因此简化了编码以及 ...

  2. 排序中减治法算法伪代码_算法浅谈——分治算法与归并、快速排序(附代码和动图演示)...

    在之前的文章当中,我们通过海盗分金币问题详细讲解了递归方法. 我们可以认为在递归的过程当中,我们通过函数自己调用自己,将大问题转化成了小问题,因此简化了编码以及建模.今天这篇文章呢,就正式和大家聊一聊 ...

  3. 贪心算法之 活动安排(Java代码实现)

    活动安排问题 – 资源争夺 问题描述 设有 n 个活动的集合 A = {1, 2, - , n}, 其中每个活动都要求使用同一资源,而在同一时间段内只有一个活动能使用资源 要求高效安排一系列争用公共资 ...

  4. 五大算法思想(一)分治算法及常见例子

    文章目录 一.理论基础 1.1 适用场景 1.2 使用步骤 1.3 经典例子 二.常见例子 2.1 二分搜索 2.2 大整数乘法 2.3 Strassen矩阵乘法 2.4 棋盘覆盖 2.5 合并排序 ...

  5. 比赛赛程安排算法--分治算法

    问题在注释中已说明,直接贴代码! /** bisaisaicheng.c** Created on: Nov 30, 2013* Author: bing** 每个选手必须与其他所有选手进行一次比赛, ...

  6. 计算1至1000间的合数c语言,输出1000以内的素数的算法(实例代码)

    输出1000以内的素数的算法(实例代码) 代码如下所示: 复制代码 代码如下: #include "stdafx.h" #include #include bool IsSushu ...

  7. 聚类算法-最大最小距离算法(实例+代码)

    聚类算法-最大最小距离算法(实例+代码) [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/53708042 目录 聚类算法- ...

  8. 异或加密的java算法_Java使用异或运算实现简单的加密解密算法实例代码

    Java简单的加密解密算法,使用异或运算 实例1: package cn.std.util; import java.nio.charset.Charset; public class DeEnCod ...

  9. 分治算法之循环赛程日志表

    什么是分治算法? 就是当求解的数据过多,计算的过程过于复杂的情况即可使用分治算法 分治算法的一般步骤: 1.分解:将复杂问题划分为若干同类小问题 2.求解:当子问题足够小时,用简单的方法解决 3.合并 ...

最新文章

  1. 数据库维护优化及后期改进约定.实践篇
  2. 如何诊断crs 安装时 root.sh 脚本执行错误
  3. 史上最简单JS复制功能,兼容安卓ios!
  4. 备份和迁移Kubernetes应用程序利器-velero
  5. C语言数据结构知识点小结(全)
  6. 一种可以穿透还原卡和还原软件的代码(转)
  7. 如何使用PowerShell批量删除注册表项
  8. 收藏 | 基于深度学习的图像匹配技术一览
  9. win7添加网页ftp服务器地址,win7添加ftp服务器地址
  10. C#直接调用IE打开指定的网页文件
  11. (4)pokeman_用图片对模型进行测试
  12. 第八届蓝桥杯全国总决赛真题解析
  13. centos图形化磁盘文件管理_centos7图形化分区和ks文件分区的配置
  14. vue3 +Element-puls ,table 中使用$refs修改scrollTop 到顶部
  15. hdu 1789 贪心算法
  16. fatal error C1010:在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include“stdafx.h“”
  17. 缓存加速--Squid代理服务器应用(传统代理、透明代理)
  18. 代码即武器:美国开始控制漏洞市场
  19. 2049. 奶牛摄影
  20. 【正点原子MP157连载】第一章 本书学习方法-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南

热门文章

  1. MysqlCluster集群搭建及使用
  2. 最全的十大计算机交流论坛和社区
  3. 【博学谷学习记录】超强总结,用心分享 | 产品经理还得懂点儿运营
  4. 精益管理学会:精益生产是谁命名的?99.9%人都说错了
  5. sqlmap代理池_sqlmap多代理防IP被BAN
  6. Zabbix通过XCC监控联想服务器状态
  7. 开发者说 | AI操控机器人系列第三期——语音控制(另附直播预约通道)
  8. 赣州市光华职业学校计算机部,2019年赣州市中职学校技能竞赛正式开赛
  9. JuiceSSH手机端ssh连接
  10. pip3升级失败,pip3自动被卸载后如何恢复