ทีมได้ตัดสินใจแล้วว่าทุกคนควรนำครัวซองต์มาให้ทุกคน ไม่ควรเป็นคนคนเดียวกันทุกครั้งดังนั้นควรมีระบบในการพิจารณาว่าใครเป็นเทิร์นถัดไป วัตถุประสงค์ของคำถามนี้คือการกำหนดอัลกอริทึมสำหรับการตัดสินใจว่าใครจะเป็นผู้เปิดครัวซองต์ในวันพรุ่งนี้
ข้อ จำกัด สมมติฐานและวัตถุประสงค์:
- ที่เปิดก็จะนำครัวซองต์จะถูกกำหนดในช่วงบ่ายก่อนหน้า
- ในบางวันบางคนไม่อยู่ อัลกอริทึมต้องเลือกใครบางคนที่จะนำเสนอในวันนั้น สมมติว่าการขาดทั้งหมดเป็นที่ทราบล่วงหน้าหนึ่งวันดังนั้นผู้ซื้อครัวซองต์สามารถถูกกำหนดในช่วงบ่ายก่อนหน้า
- โดยรวมแล้วคนส่วนใหญ่อยู่ในเกือบทุกวัน
- เพื่อผลประโยชน์ของความเป็นธรรมทุกคนควรซื้อครัวซองต์หลายครั้ง (โดยทั่วไปสมมติว่าสมาชิกทุกคนในทีมมีจำนวนเงินเท่ากันสำหรับการใช้จ่ายกับครัวซองต์)
- มันจะดีถ้ามีองค์ประกอบของการสุ่มหรือการรับรู้อย่างน้อยที่สุดเพื่อที่จะบรรเทาความเบื่อของบัญชีรายชื่อ นี่ไม่ใช่ข้อ จำกัด อย่างหนัก: มันเป็นการตัดสินใจเชิงสุนทรียะมากกว่า อย่างไรก็ตามบุคคลเดียวกันไม่ควรเลือกสองครั้งติดต่อกัน
- บุคคลที่นำครัวซองต์มาด้วยควรทราบล่วงหน้า ดังนั้นหากบุคคล P ต้องนำครัวซองต์ในวันที่ D ดังนั้นความจริงข้อนี้ควรถูกกำหนดในวันก่อนหน้าซึ่งมีบุคคล P อยู่ด้วย ตัวอย่างเช่นหากพนักงานเก็บเงินตัวสำรองถูกกำหนดวันก่อนเสมอควรเป็นหนึ่งในบุคคลที่เข้าร่วมเมื่อวานนี้
- จำนวนสมาชิกในทีมมีขนาดเล็กเพียงพอที่ทรัพยากรการจัดเก็บและการคำนวณมีไม่ จำกัด อย่างมีประสิทธิภาพ ตัวอย่างเช่นอัลกอริทึมสามารถพึ่งพาประวัติที่สมบูรณ์ของผู้ที่นำครัวซองต์เมื่อในอดีต การคำนวณบนพีซีที่รวดเร็วเพียงไม่กี่นาทีทุกวันก็โอเค
นี่เป็นรูปแบบของปัญหาในโลกแห่งความเป็นจริงดังนั้นคุณมีอิสระที่จะท้าทายหรือปรับแต่งสมมติฐานหากคุณคิดว่าพวกเขาทำแบบจำลองสถานการณ์ได้ดีขึ้น
จุดกำเนิด 1: ค้นหาว่าใครกำลังจะซื้อครัวซองต์โดย Florian Margaine
จุดกำเนิด 2: ค้นหาว่าใครกำลังจะซื้อครัวซองต์โดยกิลส์
คำถามนี้เป็นรุ่นเดียวกับ Gilles และได้รับการโพสต์ใหม่ในโปรแกรมเมอร์เพื่อทดสอบว่าชุมชนต่าง ๆ จัดการกับปัญหาการเขียนโปรแกรมอย่างไร