热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

分班要求:每个班级对口学校与非对口学校的人数几乎相同每个班级总人数相同每个班级的男生及女生数量大致相同
分班要求:每个班级对口学校与非对口学校的人数几乎相同
                    每个班级总人数相同
                    每个班级的男生及女生数量大致相同
                    成绩分为3个档次,A,B,C其中每个档次每班的人数大致相同
                    保证军人子女,教师子女都分散开
                    双胞胎必须在一个班级,同名的不可以在同一个班级

4 个解决方案

#1


按你开列的条件排序,依次一班一个的分配

#2




双胞胎必须在一个班级//第一条规则,优先,先找双胞胎,放到同一个班
同名的不可以在同一个班级 //第二条规则,查找重名,然后随机放到不同的班
保证军人子女,教师子女都分散开//第三条规则,把这类人分散到不同的班

以上三条规则是硬性的,需要优先实现。

然后下面的四条要求,就要基于上面的三条。先统计已分配的,然后将总数和平均数求出来,然后依次从剩下人数中抽取符合要求的,逐个班分配。
比如对口学校并且档次为A的女生n个放到1班。对口学校并且档次为B的男生k个放到2班。


每个班级对口学校与非对口学校的人数几乎相同
每个班级总人数相同
每个班级的男生及女生数量大致相同
成绩分为3个档次,A,B,C其中每个档次每班的人数大致相同

#3


基本同意zhi_ai_yaya的看法。
优先实现双胞胎、重名、军人/教师子女。
然后,排队列,分别是A男生,A女生,B男生,B女生,C男生,C女生
每个队列的依次向各班分配即可。

#4


很简单,把全部的双胞胎、重名、教师/军人子女先拉出来先进行分班。分完后剩下的按男女和成绩排序,根据已分配的男女数量,成绩,把排序后的一般学生抽取出来进行分配即可。

推荐阅读
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • Linux设备驱动程序:异步时间操作与调度机制
    本文介绍了Linux内核中的几种异步延迟操作方法,包括内核定时器、tasklet机制和工作队列。这些机制允许在未来的某个时间点执行任务,而无需阻塞当前线程,从而提高系统的响应性和效率。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • 探讨如何通过高效的数据库查询和排序策略,优化基于GPS位置信息的附近用户搜索功能,以应对大规模用户数据场景。 ... [详细]
author-avatar
纪筱陌_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有