用位操作解人员派遣问题

来源:互联网 发布:淘宝qq群推广 编辑:程序博客网 时间:2024/05/01 00:33

用位操作解人员派遣问题:

Question

某项任务由ABCDE五个人去完成,但人员派遣受限于以下条件:

(1)   若A去,则B跟去

(2)   D、E两人中必有人去

(3)   B、C两人中必有人去,但只去一人

(4)   CD两人要么都去,要么都不去

(5)   若E去,则AB都不去

answer:

将约束条件用逻辑运算表达式表示如下:

(1)   ->,即:!A||

(2)   ||

(3)   (&&!)||(!&&),即:B!=

(4)   (!||)&&(||!),即:C==

(5)   !||(&&)

如果将每个人的去与不去表示5位整数中的1位,其中A对应最高位,E对应最低位。那么所有的派遣方案位从全部不派遣00000到都派遣11111之间变化。共32种方案,对之进行判断,符合条件的即为合适的派遣方案。

将以上逻辑表达式取反:、

(1)   A&&!B

(2)   !D && !E

(3)   B==C

(4)   C!=D

(5)   E&&!(A&&B)

 

程序如下: