跪求一个详细的分班的算法,有具体的思路即可,不需要相关的程序

光之大力丸 2016-08-19 02:53:12
分班要求:每个班级对口学校与非对口学校的人数几乎相同
每个班级总人数相同
每个班级的男生及女生数量大致相同
成绩分为3个档次,A,B,C其中每个档次每班的人数大致相同
保证军人子女,教师子女都分散开
双胞胎必须在一个班级,同名的不可以在同一个班级
...全文
1085 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanta 2016-08-20
  • 打赏
  • 举报
回复
基本同意zhi_ai_yaya的看法。 优先实现双胞胎、重名、军人/教师子女。 然后,排队列,分别是A男生,A女生,B男生,B女生,C男生,C女生 每个队列的依次向各班分配即可。
software_artisan 2016-08-20
  • 打赏
  • 举报
回复
很简单,把全部的双胞胎、重名、教师/军人子女先拉出来先进行分班。分完后剩下的按男女和成绩排序,根据已分配的男女数量,成绩,把排序后的一般学生抽取出来进行分配即可。
我叫小菜菜 2016-08-19
  • 打赏
  • 举报
回复
双胞胎必须在一个班级//第一条规则,优先,先找双胞胎,放到同一个班 同名的不可以在同一个班级 //第二条规则,查找重名,然后随机放到不同的班 保证军人子女,教师子女都分散开//第三条规则,把这类人分散到不同的班 以上三条规则是硬性的,需要优先实现。 然后下面的四条要求,就要基于上面的三条。先统计已分配的,然后将总数和平均数求出来,然后依次从剩下人数中抽取符合要求的,逐个班分配。 比如对口学校并且档次为A的女生n个放到1班。对口学校并且档次为B的男生k个放到2班。 每个班级对口学校与非对口学校的人数几乎相同 每个班级总人数相同 每个班级的男生及女生数量大致相同 成绩分为3个档次,A,B,C其中每个档次每班的人数大致相同
xuzuning 2016-08-19
  • 打赏
  • 举报
回复
按你开列的条件排序,依次一班一个的分配

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧