坏女孩宿舍

量一量,谈一谈,写下来,然后动手改。

轮值排班生成器:坏女孩宿舍的值日表自动排好

手排值日表最容易出的问题是排着排着就偏心了。定序轮换只有一条规则:每过一期,所有人整体挪一格。

这个工具需要浏览器脚本才能计算。如果这行字一直在,说明脚本没有加载成功,页面上的公式与口径仍然可以照着手算。

轮值定序轮换示意图:一个圆盘平分成四块,分别写着 A 位倒垃圾、B 位擦公共桌、C 位扫地拖地、D 位查门窗水电,圆心写着每周,右侧一个红色弯箭头表示每周整体顺时针挪一格。
定序轮换:四个人四项任务,四期走完一圈,每个人都干过每件事。

排法

第 i 期、第 j 项任务的负责人 = 成员[(i + j) mod 成员数]
(i、j 从 0 开始计)
第 i 期覆盖天数 = 第 (i × 一期天数 + 1) 天,到第 ((i+1) × 一期天数) 天

这个式子保证两件事:同一期里不同任务落在不同的人身上(当成员数不小于任务数时),以及经过「成员数」个周期后每个人都轮过每一项。三种排法的对比和各自适合什么房间,写在轮值的三种排法。

假设与边界

  • 任务比人多时会有人一期分到两项。表里会重复出现同一个名字,这是算法的正常结果,不是错误;工具会在表下提示。
  • 不处理请假和调班。临时换班当面说一句就行,不要改表——表一改,下一期的顺序就乱了。
  • 天数从第 1 天开始计,没有绑定具体日期,因为宿舍的「第一周」常常不是自然周。打印出来自己在表头写上起始日期。
  • 期数上限 52,再长的表没有意义,一个学期通常重排一次。

打印与张贴

点「打印这张表」会调用浏览器的打印功能,页面会自动隐藏导航、侧栏和按钮,只留标题和表格。没有打印机就导出 CSV,或者直接照着屏幕手抄一份贴在门后——手抄的那张反而更容易被看。