-算法有关问题,年轻人进来看看,小弟我老了 ~
----算法问题,年轻人进来看看,我老了 ~!
7个人,4个岗位,6天(只是白天,不用考虑晚上)
如何排班最合理
------解决方案--------------------
如果这个题按小时划分, 就不存在分不开的问题了,多少人都排的开,小时不行了还可以按分划分。所以觉得原题的意思是每个人一天的岗位是不能变换的。但是7个人,6天,也就是42 人.天 的工时,只有四个岗位,所以最后我觉得是不能完全共评划分的,有两个人肯定要独自工作在一个岗位上一天。程序如下:
7个人,4个岗位,6天(只是白天,不用考虑晚上)
如何排班最合理
------解决方案--------------------
如果这个题按小时划分, 就不存在分不开的问题了,多少人都排的开,小时不行了还可以按分划分。所以觉得原题的意思是每个人一天的岗位是不能变换的。但是7个人,6天,也就是42 人.天 的工时,只有四个岗位,所以最后我觉得是不能完全共评划分的,有两个人肯定要独自工作在一个岗位上一天。程序如下:
- C/C++ code
#include <stdio.h> const char *position="ABCD"; const int days= 6; const char *people="1234567"; void main(){ int m=0,n=0, k,j; for(k=0;k<6;k++){ printf("the%3dth day:\n", k+1); for(j=0;j<7 && m<6*7;j++, m++, n++) printf("position %c: people: %c\n", position[n%4], people[m%7]); } }
------解决方案--------------------
- m t w t f s
A 1 2 3 4 - -
B - 3 4 1 2 -
C - - 1 2 3 4
D 2 - - 3 4 1
E 3 4 - - 1 2
F 4 1 2 - - 3
G - - - - - -
G是老板。
------解决方案--------------------
7个人每人值班4天次:4*7=28
先假设一个岗位一人:28-4*6=4
把剩余的4人次分别安排到6天中的4天当中去
A B C D
一 12 3 4 5
二 6 71 2 3
三 4 5 67 1
四 2 3 4 56
五 7 1 2 3
六 4 5 6 7
------解决方案--------------------
岗位:ABCD
人员:1234567
第一天
A 1
B 2
C 3
D 4
第二天
A 2
B 3
C 4
D 5
第三天
A 3
B 4
C 5
D 6
第四天
A 4
B 5
C 6
D 7
第五天
A 5
B 6
C 7
D 1
第六天
A 6
B 7
C 1
D 2
1 3天
2 3天
3 3天
4 4天
5 4天
6 4天
7 3天
-------------
第一个6天以上.第二个6天,对换一下 然后每人每各月轮流一下那个比较特殊的..
就是7这个位置.7个人可以按月轮流7月以后全部都公平了
------解决方案--------------------
恩,7个人4个岗位,6天?4*6=24个岗位,24/7=3还剩余3个岗位,也就是 轮着干 每个人平均可以干3个岗位,最后还有3个岗位平均分不下去,搞个随机抽取比较好.
我的异常网推荐解决方案:程序员的一天,http://www..net/other/1391144.html