急求公司员工排班的算法

需求:有10个员工,分别要在7个不同的地方上班。要求1:每个员工都是上五天休两天轮流着。要求2:要求考虑到有员工请假的情况!!!!!

http://wenku.baidu.com/link?url=IeBUGnm5w8qD9lpYDidGF5PIqECtfzLUaqCZPrx8AmF-6lwFNpBzSkTML2E5iUnTt1FbJuigKWkI0GgHeIbftWUxIzFQbNhLFVgSgHzbicS

10个员工5天班一共是50个班,7个地方5天班一共是35个班,实际上冗余的3个人可以随便排或代替请假的员工,如果是7天轮休就有49个班,基本上只能员工内部调班