什么是节水小便池的最佳算法设计?

时间:2008-10-26 00:45:55

标签: algorithm

在工作中,我们有一个讨厌的公共小便池。没有冲洗手柄。相反,它有一个运动传感器,当你站在它前面时有时会触发,有时则不会。当它触发时,一个水箱充满,当满水用于冲洗小便池时。

在我的这次掠夺之前的许多次旅行中,我已经考虑了用于确定何时打开的方法的算法以及什么是最佳算法,在保持水的同时仍保持相对舒适的小便体验。

一旦人们有机会分享他们的想法,我会分享我的答案。

6 个答案:

答案 0 :(得分:17)

OnUserEnter()
{
   if (UsersDetected == 0)
   {
      FirstDetectionTime = Now();
   }
   UsersDetected++;
   CurrentlyInUse = true;
}

OnUserExit()
{
  CurrentlyInUse = false;
  if (UsersDetected >= MaxUsersBetweenFlushes || 
         Now() - FirstDetectionTime > StinkInterval)
  {
     Flush();
  }
}

OnTimer()
{
   if (!CurrentlyInUse && 
          UsersDetected > 0 && 
          Now() - FirstDetectionTime > StinkInterval)
   {
      Flush();
   }
}

Flush()
{
   FlushTheUrinal();
   UsersDetected = 0;
}

答案 1 :(得分:4)

你怎么知道它真的不是一个摄像机将它的视频输送到地下室的一组显示器,当Milton看到你离开小便池时会触发冲洗?

/我戴上他的锡箔帽子

答案 2 :(得分:3)

最好的节水算法是没有把手和传感器损坏的小便池。

这似乎是大部分时间我们的小便池的状态,所以我认为必须有意设计这样做才能保存宝贵的饮用水。

答案 3 :(得分:1)

我会在感觉上触发但是使用缓慢的填充,希望当它实际冲洗时,其他人有一个斜线。这种方法可以最大限度地减少臭味停滞,偶尔会跳过冲洗循环。

答案 4 :(得分:1)

我们学校的“并行处理”(又称“多用户”)小便器每次都会在休息铃响起之前触发完全冲洗,当然也就是在“休息结束”铃声之后不久。非常简单有效。

答案 5 :(得分:0)

冒着听起来Ludditish的风险,我认为最好的解决方案是手柄。但这不是问题。我认为这个机制非常简单。有人在它前面移动,计数开始。当计数完成时,小便池被“灌注”。当人走开时,触发器被拉动,传感器关闭一段任意时间(我认为它没有或者不需要了解冲洗/油箱补充的行为)。

我是否过度思考这个?