package 排日程;
import java.util.ArrayList;
import java.util.List;
public class 排日程 {
//先列举每个人所有的情况
static List
list = new ArrayList
();
static String[] str = new String[7];//保存所有情况的结果
public void createArray(){//初始化str
/**
* 即所有的结果如下
* 符合条件:所有人的连续工作日不能多于3天(注意:周日连到下周一也是连续)。
* 0,1,1,1,0,1,1
1,0,1,1,1,0,1
1,1,0,1,1,1,0
0,1,1,0,1,1,1
1,0,1,1,0,1,1
1,1,0,1,1,0,1
1,1,1,0,1,1,0
*/
for(int i = 0 ;i< 7 ;i++){
//i表示第一个休息日,为0休息,为1工作
StringBuffer sb = new StringBuffer();
int t =
某保密单位机要人员 A,B,C,D,E 每周需要工作5天,休息2天。 上级要求每个人每周的工作日和休息日安排必须是固定的,不能在周间变更。 此外,由于工作需要,还有如下要求:
最新推荐文章于 2019-11-03 17:08:14 发布
该博客介绍了一个编程问题,旨在为一个保密单位的机要人员A、B、C、D、E制定满足特定条件的每周工作日程。每个员工需要工作5天,休息2天,且工作日程不可变动。要求包括:周三A和E必须上班,B、D、E周日必须休息,A、C一周内至少4天同时工作,一周中至少有3天所有人都上班。博客给出了Java代码实现来枚举和检查所有可能的日程安排,最终展示了一些符合条件的日程方案。
摘要由CSDN通过智能技术生成