考试排座位顺序,要求校内同班不相邻

本文介绍了如何在多个学校、不同班级的学生中进行考试座位的随机排列,确保同一学校内的同班学生尽可能不相邻。通过三步策略实现:1. 将人数最多班级的学生填充到奇数位置;2. 对其他班级按人数递减随机填充偶数位置,尽量避免同班相邻;3. 剩余学生按班号顺序随机填充剩余位置。在生成随机位置时,还需排除班号相邻的情况。这种方法兼顾了同班不相邻和随机性的要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

考试到要到了,有多个学校,每个学校班数不尽相同。需要将这些学生以学校为单位重新随机排顺序,要求就是校内尽量做到同班不相邻,在这一前提下再做到随机排位

基本思想是分三步:

第一步:把人数最多班(假设人数为n)的学生排在一数组(大小为2n)的奇数序号位置中(1,3,5……2n-1),偶数位置空出来(2,4,6……2n-2)供第二步使用,同时该班人数置为0

第二步:在剩下的班中找出人数最多的班:

              1、如果人数也为n,则将这个班的学生随机填入上一数组的偶数位置(2、4、6……2n);

              2、如果人数为n-1,则将这个班的学生随机填入上一数组的偶数位置(2、4、6……2n-2);

              3、如果少于n-1,则还需要从其他班中再去找人,直到凑够n-1个人,再随机填入上一数组的偶数位置(2、4、6……2n-2);

              4、如果凑不够n-1个人,则不能做到全部的同班不相邻,此时只能随机将所有学生填进上一数组的偶数位置(2、4、6……2n-2)即可。

              5、再把此数组扩大一倍,将数据移入到偶数序号位置(2、4、6……2n),奇数序号位置空出来供第三步使用

             第二步最重要,是保证最大限度同班不相邻的关键

第三步:1、把剩余班按班号顺序将学生随机填入数组的奇数位置(1,3,5……2n+1)。2、数组扩大一倍,将数据移入到偶数位置,奇数位置空出。

              循环执行1、2直到每个班都填完,再把结果填入最终结果数组中

              在生成随机位置时,由于第二步可能凑过人数,极端情况下有可能排出班号相邻的情况,故生成随机位置时,需要判断一下班号

通过这三步就能尽最大限度做到同班不相邻,且有随机性

原始表中A列为学校代码,B列为班号,此两列为排位置的依据。其余列内容只读写不识别,共使用了六列(即A列至F列),G列作为辅助列。

学校代码为数字。班级代码都是从1开始依次编号的数字

第一行为标题,第二行起为数据,无空行

Sub test()
Dim ar1(), ar2(), ar3(), ar4()
Application.ScreenUpdating = 0
'以下在辅助列G列(就此处用到他)填入随机数、排序,再以A列、B列来排序,以达到将所有班内的学生打乱顺序,学校集中、同班学生集中的目的
With ActiveSheet
     rowscount = .Cells(65536, "a
### 解决PyCharm无法加载Conda虚拟环境的方法 #### 配置设置 为了使 PyCharm 能够成功识别并使用 Conda 创建的虚拟环境,需确保 Anaconda 的路径已正确添加至系统的环境变量中[^1]。这一步骤至关重要,因为只有当 Python 解释器及其关联工具被加入 PATH 后,IDE 才能顺利找到它们。 对于 Windows 用户而言,在安装 Anaconda 时,默认情况下会询问是否将它添加到系统路径里;如果当时选择了否,则现在应该手动完成此操作。具体做法是在“高级系统设置”的“环境变量”选项内编辑 `Path` 变量,追加 Anaconda 安装目录下的 Scripts 文件夹位置。 另外,建议每次新建项目前都通过命令行先激活目标 conda env: ```bash conda activate myenvname ``` 接着再启动 IDE 进入工作区,这样有助于减少兼容性方面的问题发生概率。 #### 常见错误及修复方法 ##### 错误一:未发现任何解释器 症状表现为打开 PyCharm 新建工程向导页面找不到由 Conda 构建出来的 interpreter 列表项。此时应前往 Preferences/Settings -> Project:...->Python Interpreter 下方点击齿轮图标选择 Add...按钮来指定自定义的位置。按照提示浏览定位到对应版本 python.exe 的绝对地址即可解决问题。 ##### 错误二:权限不足导致 DLL 加载失败 有时即使指定了正确的解释器路径,仍可能遇到由于缺乏适当的操作系统级许可而引发的功能缺失现象。特别是涉及到调用某些特定类型的动态链接库 (Dynamic Link Library, .dll) 时尤为明显。因此拥有管理员身份执行相关动作显得尤为重要——无论是从终端还是图形界面触发创建新 venv 流程均如此处理能够有效规避此类隐患。 ##### 错误三:网络连接异常引起依赖下载超时 部分开发者反馈过因网速慢或者其他因素造成 pip install 操作中途断开进而影响整个项目的初始化进度条卡住的情况。对此可尝试调整镜像源加速获取速度或是离线模式预先准备好所需资源包后再继续后续步骤。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值