假设
班1 至 班5
科目1 至 科目10
老师1 至 老师10
课室1 至 课室10每一班最多有5个科目
每一科在每星期需要有 3节, 其中2节要连续..每节是1小时
一日有10节,随机星期,时间,及课室
Object[][][] classTimetable = new Object[5][5][9];
Object[][][] teacherTimetable = new Object[10][5][9];
Object[][][] roomTimetable = new Object[10][5][9];星期 = Math. random() * 5 
时间= Math. random() * 9 
课室= Math. random() * 10 如何实现自动排课..?我比较笨的方法是:
以课室为中心,活动1 = 老师1 配 科目1配 班1
活动2 = 老师2 配 科目2 配 班1
活动3 = 老师3 配 科目3 配 班1
活动4 = 老师4 配 科目4 配 班2
活动5= 老师5  配 科目5 配 班2
.
.
---------------
While(所有活动)
活动N = Get(活动);
roomTimetable[课室编号][星期][时间] != null and
classTimetable [活动N -> 班编号][星期][时间] != null and 
teacherTimetable [活动N ->老师编号][星期][时间] != nullclassTimetable[课室编号][星期][时间] = 活动N //成功排出

我这个思路经常发生碰撞未能排在课表上?
给我些思路意见