java编写程序,实现学校里有一个水房,水房里一共装有 m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为 1。现在有 n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从 1 到 n 编号,i号同学的接水量为 wi。接水开始时,1 到 m 号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学 j 完成其接水量要求 wj后,下一名排队等候接水的同学 k 马上接替 j 同学的位置开始接水。这个换人的过程是瞬间完成的,且没有任何水的浪费。即 j 同学第 x 秒结束时完成接水,
时间: 2024-01-22 11:19:31 浏览: 117
基于SPCE061A的校园水房拔卡提示系统的设计与开发 (2011年)
k 同学第 x+1 秒开始接水。
请编写一个程序,输出每秒钟每个龙头的供水情况,直到所有同学都接完水为止。
示例输入:
```
5 2
3 1 4 2 5
```
示例输出:
```
1 1
2 1
3 1
1 2
2 2
3 2
1 3
2 3
3 3
1 4
2 4
3 4
1 5
2 5
3 5
```
解释:
一开始有 2 个人在水房里,同时占用 2 个水龙头。
1 秒钟后,这 2 个人接水量都加 1。
2 秒钟后,这 2 个人接水量都加 1,其中编号为 2 的同学已经接完水了,下一个同学开始接水。
3 秒钟后,同学 1 和 3 接水量加 1。
4 秒钟后,同学 1 的接水量加 1,同学 3 已经接完水了,下一个同学开始接水。
5 秒钟后,同学 1 和 4 接水量加 1。
6 秒钟后,同学 1、4 和 5 接水量加 1。
7 秒钟后,同学 1 的接水量加 1,同学 4 已经接完水了,下一个同学开始接水。
8 秒钟后,同学 1 和 5 接水量加 1。
9 秒钟后,同学 1 的接水量加 1,同学 5 已经接完水了,下一个同学开始接水。
10 秒钟后,同学 1 接水量加 1。
11 秒钟后,所有同学都已经接完水了,程序结束。
阅读全文