[求助]关于毕业设计自动分组的算法
先是各老师的研究方向和指导学生的人数如下所示:杜教授(Java,前端设计)--15个
王副教授(C,算法设计)--12个
金副教授(软件主任,Java,c#,数据库设计)--12个
姜副教授(C#,asp网站开发)--12个
梁讲师(java,前端)--10个
吴讲师(python,C#)--10个
王波副教授(外援,没有软件学生)
刘明讲师(外援,没有软件学生)
2根据这个导师带领学生们的数量,请设计一个算法实现自动分组,要求:
a分两组,两组人数相差越少越好;
b导师和所带学生不能在一组;
c导师尽量按照研究领域和职称不同,均匀分开,让每组都覆盖各个语言和研究方向的。
d组长一般由职称最高的或者年龄最大的担任,秘书一般由讲师担任。组长负责调度和组织,秘书负责记录和答辩前准备,答辩后收发资料。
附加:如果可以,你可以用程序实现该算法。
如果可以,手动输入每个导师带的人数,分几组,然后再进行分组,这样就更加适应各种情况了。