-算法有关问题,年轻人进来看看,小弟我老了 ~

----算法问题,年轻人进来看看,我老了 ~!
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