第二个,我自己的想法是这样
不妨假设一共有10个人,所有人知道自己的工资s,但不知道其它人的工资
初始状态,工资总和sum为0,将10个人按任意顺序i排列,每个人分配权值w=10(总人数)
主要循环步骤
{
i从1到10,依次检查当前sum与siwi的关系
{
若sum<=siwi,则sum=siwi-rand,其中wi0.9si>rand>0, min<sum<max
若sum>siwi,则sum=siwi+rand,其中wi0.9si>rand>0, min<sum<max
}
更新min,max
对于在一次10人循环中输出了当前min和max的i,其wi=wi0.9
}
重复i的循环与权值更新,即主循环步骤,直到sum收敛到某区间内
恩,不过我不肯定这方案到底是不是可行