アルゴリズム

球に色を付けて出荷する業者があるとする。
箱のなかに番号を振った球がたくさんある。その球を適宜取り出し、色を塗ってまた箱に戻す。その後、特殊な光を当てると球の内部が表面の色に染まっていく。
ただし箱から取り出して表面は何度でも彩色できる。

そういうシステムで稼働していたが、今回ある小塊を球のなかにいれなくてはならなくなった。そのために対象の球にはラベルを貼り、ラベルがあるとなかに小塊ができるように光を改良した。ただし出荷時にはラベルはない状態にしなければならない。

発熱外来をこなすプログラミングの改修にあたり、もっとも手が込んだのは検査費や薬剤費などに、いろんな状況に分かれて公費が適応される点にあった。

業者は医療機関で出荷先は保険者、球は患者、色は診療行為、公費を小塊という設定で問題をアナロジーしたものだ。

さてどうするか。いろいろ策があるだろう。まっさきに思いつくのが、光を当てた時、ついでにラベルもはがすというものだ。だが出荷前にある球に処理が必要なことが分かったとき、再度光を当てると本来ラベルがあって作られるべき球の小塊はできなくなる。

というような感じで試行錯誤しながらなんとか解決策を見出した連休だった。

そういえば、大昔「象を冷蔵庫に入れる」というアルゴリズムがあったなぁ。

答えは、冷蔵庫のドアを開ける、冷蔵庫に象を入れる、ドアを閉める、というもの。
もし冷蔵庫が小さければ大きな冷蔵庫を作るか、冷蔵庫に入る象を選べばいい。