한 팀은 매일 아침 누군가가 모두에게 크로와상을 가져와야한다고 결정했습니다. 매번 같은 사람이되어서는 안되므로 다음 차례를 결정하는 시스템이 있어야합니다. 이 질문의 목적은 내일 크로와상을 가져올 차례를 결정할 알고리즘을 결정하는 것입니다.
제약, 가정 및 목표 :
- 크루아상을 가져 오는 것이 누구의 차례인지 전날 오후에 결정됩니다.
- 어느 날, 어떤 사람들은 결석합니다. 알고리즘은 그 날에 참석할 사람을 선택해야합니다. 모든 결석을 하루 전에 미리 알고 있다고 가정하면 크루아상 구매자는 전날 오후에 결정할 수 있습니다.
- 전반적으로 대부분의 사람들이 대부분의 날에 참석합니다.
- 공정성을 위해 모든 사람은 다른 사람보다 크루아상을 구입해야합니다. (기본적으로 모든 팀원은 크로와상을 쓸 돈이 같다고 가정하십시오.)
- 명단의 지루함을 완화하기 위해 임의의 요소 또는 적어도 인식 된 임의성을 갖는 것이 좋을 것입니다. 이것은 어려운 제약이 아닙니다 : 심미적 인 판단에 가깝습니다. 그러나 같은 사람을 연속으로 두 번 선택해서는 안됩니다.
- 크로와상을 가져 오는 사람은 미리 알아야합니다. 따라서 사람 P가 D 일에 크로와상을 가져 오려면 사람 P가있는 전날에이 사실을 결정해야합니다. 예를 들어, 크로와상 수상자가 항상 전날 결정되면, 그것은 전날에 참석 한 사람 중 한 사람이어야합니다.
- 팀원의 수는 스토리지 및 컴퓨팅 리소스가 사실상 무제한이 될 정도로 적습니다. 예를 들어, 알고리즘은 과거에 크루아상을 가져온 사람의 완전한 역사에 의존 할 수 있습니다. 매일 빠른 PC에서 최대 몇 분의 계산이 가능합니다.
이것은 실제 문제의 모델이므로 시나리오를 더 잘 모델링한다고 생각되면 가정에 자유롭게 이의를 제기하거나 구체화 할 수 있습니다.
원산지 : 크로를 구입하려고 누가 알아 의해 플로리안 Margaine . 나의 개혁은 요구 사항이 약간 다릅니다.