排班系统Java算法 给思路就行 20C

现在有这么一个需求,是给4个人排班,每人每月保证有22天班(白班/晚班各算一天),
每个人上班白班就不能再上晚班了,4个人中每人的白班量和晚班量能平均分配。
但每个人有权指定他哪天上或者哪天不上,
在能排开(保证22天)的基础上优先排这些指定天,其余天大家平均排。
在能保证上述基础上,最好能保证前一天上晚班后,第二天就不连上白班。
感觉这个东西很实用,也挺有趣,有没有好的算法?给思路就行

3个回答

对4个人排班有冲突要求吗,例如,不能同时一天上班等等

dulinanaaa
半湖思絮 嗯,比如A,B,C,D四个人,A上完白班了,从实际情况来讲,最好就别上晚班了,这样休息不过来。还有就是在能排开的基础上,A如果在3号上完了晚班,在4号最好就别上白天了
接近 5 年之前 回复

我说的是4个人之间有冲突吗,比如A上白班,B不能上白班之类的。
如果没有冲突的话,那还需要排吗?轮班导不就行了!

dulinanaaa
半湖思絮 哦,现在是固定的4个人,以后可能人数会变。比如是4个人的话,每个人保证一个月22天班,这样的话就是88天班,88天班在一个月(30天左右)上完,平均每天就是3个人,而晚班只有一人上,那白班可能就是2个人左右上了啊
接近 5 年之前 回复

4人没有关系的话,不就是独立事件?我对A排班,跟B有关系?我对B排班对ACD有影响?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐