某保密单位机要人员 A,B,C,D,E 每周需要工作5天,休息2天。 上级要求每个人每周的工作日和休息日安排必须是固定的,不能在周间变更。 此外,由于工作需要,还有如下要求:

该博客介绍了一个编程问题,旨在为一个保密单位的机要人员A、B、C、D、E制定满足特定条件的每周工作日程。每个员工需要工作5天,休息2天,且工作日程不可变动。要求包括:周三A和E必须上班,B、D、E周日必须休息,A、C一周内至少4天同时工作,一周中至少有3天所有人都上班。博客给出了Java代码实现来枚举和检查所有可能的日程安排,最终展示了一些符合条件的日程方案。
摘要由CSDN通过智能技术生成

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 =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值