猴子分桃问题(问题如文件中描述,要求用队列方法解)
?问题描述:动物园里的n 只猴子编号为1,2,…,n,依次排成一队等待饲养员按规则分桃。动物
园的分桃规则是每只猴子可分得m 个桃子,但必须排队领取。饲养员循环地每次取出1 个,
2 个,…,k 个桃放入筐中,由排在队首的猴子领取。取到筐中的桃子数为k 后,又重新从
1 开始。当筐中桃子数加上队首猴子已取得的桃子数不超过m 时,队首的猴子可以全部取出
筐中桃子。取得桃子总数不足m 个的猴子,继续到队尾排队等候。当筐中桃子数加上队首猴
子已取得的桃子数超过m 时,队首的猴子只能取满m个,然后离开队列,筐中剩余的桃子由
下一只猴子取用。上述分桃过程一直进行到每只猴子都分到m 个桃子。
?实验任务:
对于给定的n,k和m,模拟上述猴子分桃过程。
?数据输入:
由文件input.txt 给出输入数据。第1 行中有3 个正整数n,k 和m,分别表示有n 只猴
子,每次最多取k个桃到筐中,每只猴子最终都分到m个桃子。
?结果输出:
将分桃过程中每只猴子离开队列的次序依次输出到文件output.txt。
输入文件示例 输出文件示例
input.txt output.txt
5 3 40 1 3 5 2 4