4
สร้างสายลับคู่หนึ่งที่จะขว้างก้อนหินลงในแม่น้ำ
เมื่อเร็ว ๆ นี้ที่Puzzling ที่เพิ่งเปิดตัวใหม่SEมีปัญหาเกี่ยวกับสายลับที่ขว้างก้อนหินไปยังแม่น้ำที่ค่อนข้างท้าทาย: สายลับสองคนจะต้องผ่านหมายเลขลับสองหมายเลข (หมายเลขหนึ่งต่อสายลับ) ซึ่งไม่มีศัตรูสังเกตเห็น พวกเขาได้ตกลงกันเกี่ยวกับวิธีการทำสิ่งนี้โดยใช้หินที่แยกไม่ออกล่วงหน้าเพียง 26 ก้อน พวกเขาพบกันที่แม่น้ำที่มีกองหิน 26 ก้อน เริ่มต้นด้วยสายลับแรกพวกเขาผลัดกันขว้างก้อนหินกลุ่มหนึ่งลงไปในแม่น้ำสายลับตัวแรกโยนก้อนหินจำนวนหนึ่งจากนั้นสายที่สองจากนั้นสายที่หนึ่งจากนั้นสายแรกจะกลับมาอีกครั้ง ... สายลับแต่ละคนจะต้องขว้างหินอย่างน้อยหนึ่งก้อนในตาของเขาจนกว่าก้อนหินทั้งหมดจะหายไป พวกเขาสังเกตการขว้างและแตกต่างเมื่อไม่มีหินอีกต่อไป พวกเขาเก็บความเงียบตลอดเวลาและไม่มีการแลกเปลี่ยนข้อมูลยกเว้นจำนวนหินที่โยนในแต่ละรอบ พวกเขาสามารถแลกเปลี่ยนตัวเลขได้สำเร็จอย่างไรถ้าตัวเลขสามารถอยู่ระหว่าง 1 ถึง M ได้? งานของคุณคือการสร้างคู่ของโปรแกรม, spy1และที่สามารถแก้ปัญหานี้สำหรับเป็นไปได้สูงสุดspy2M โปรแกรมของคุณแต่ละคนจะใช้ตัวเลขจาก1การที่คุณเลือกMเป็น input จากนั้นspy1จะเอาท์พุทตัวเลขที่แทนจำนวนก้อนหินที่มันขว้างลงไปในแม่น้ำซึ่งจะเป็นอินพุตspy2ซึ่งจะส่งออกตัวเลขที่จะป้อนเข้าspy1และอื่น ๆ จนกว่าจะมีการส่งออกตัวเลขรวม26กัน เมื่อสิ้นสุดการขว้างแต่ละโปรแกรมจะส่งออกหมายเลขที่เชื่อว่าโปรแกรมอื่นมีซึ่งจะต้องตรงกับหมายเลขที่ป้อนเข้าสู่โปรแกรมอื่นจริง โปรแกรมของคุณต้องทำงานคู่ได้รับคำสั่งเป็นไปได้ทั้งหมดของตัวเลข(i, j)ที่ทั้งสองiและjจะแตกต่างจากการ1M โปรแกรมที่ใช้งานได้ดีที่สุดMจะเป็นผู้ชนะโดยคำตอบแรกจะถูกโพสต์ นอกจากนี้ผมจะได้รับรางวัลรางวัล 100 ชื่อเสียงเพื่อแก้ปัญหาแรกที่ได้รับการพิสูจน์ในการทำงานสำหรับM >= 2286และ 300 M >= 2535เพื่อแก้ปัญหาแรกที่ได้รับการพิสูจน์ในการทำงานสำหรับ