今天给学生简单排课,想到用算法实现一下,很有趣!大家进来讨论!该怎么解决

今天给学生简单排课,想到用算法实现一下,很有趣!大家进来讨论!
首先我熟悉C#,C,delphi,大家如果用这些语言写,我比较熟悉!

场景如下:

拟对36个教学班(共1344人)进行计算机网络课程培训,分四个晚上进行,每晚上共有两个机房(共1344/4=336台电脑可供使用,其中A机房有170台电脑,B机房有166台电脑)

要求:尽量保证以每整个教学班为单位,充分占用A,B机房电脑,如果实在不行,最好分

解某一个教学班人数,当然分解的教学班越少越好!!


想了半天,没有好的思路,希望大家支招,我认为就是找符合条件的组合,有别于网上复杂的排课算法吧!!


------解决方案--------------------
貌似这类问题很多 你可以看做是01背包问题的扩充 也可以看做是求最小花销问题的变形 ……
------解决方案--------------------
其实有个很简单的办法。
把所有机器编号。
所有学生编号。


一一对应即可。

然后打印每个人的机器编号。由班长分发。