1

我有一个房间,每周开放几天,每天在不同的时间(7:00-14:42,...)

我有多个学生,每个人都可以在不同的日子、不同的时间参观房间(学生可能有时间在多天内参观房间)

我需要按照以下规则将所有(或最多)学生分配到房间:

  • 每个学生每周必须访问房间一次,时间为 50 分钟
  • (仅)第二个学生进入房间后,房间将在接下来的 20 分钟内不可用

第二条规则的例子:

+---------------+-----------------+
|     TIME      |     INFO        |
+---------------+-----------------+
|  7:00 - 7:50  |  Student 1      |
|  7:50 - 8:40  |  Student 2      |
|  8:40 - 9:00  | Mandatory break | // No student may be here
|  9:00 - 9:50  |  Student 3      |
|  9:50 - 10:40 |  Student 4      |
| 10:40 - 11:30 |  Student 5      |
|     . . .     |     . . .       |
+---------------+-----------------+

我该如何解决这个问题?我曾想过在网络中使用流,但我遇到了一个问题。

假设我有这个流程。当学生连接到时间时,流程应该通过所有包含时间的组。如果这些组中的任何一个被占用,则流量无法流向那里。因此,当学生连接到时间时,所有可能与学生时间重叠的时间都将被禁用。但我不知道如何建立一个允许这样做的算法。

网络流量

你能告诉我如何制作一个算法来完成这项工作吗?我不知道该怎么做。谢谢!

4

0 回答 0