4
การเพิ่มประสิทธิภาพความท้าทายด้วยเหรียญแปลก ๆ
คุณมีnเหรียญที่แต่ละคนมีน้ำหนัก -1 หรือ 1 แต่ละคนมีป้ายกำกับจาก0เพื่อn-1ให้คุณสามารถแยกเหรียญ คุณมีอุปกรณ์ชั่งน้ำหนัก (เวทมนต์) หนึ่งชิ้นเช่นกัน ในตอนแรกคุณสามารถใส่เหรียญได้มากเท่าที่คุณต้องการบนอุปกรณ์ชั่งน้ำหนักซึ่งสามารถวัดได้ทั้งน้ำหนักติดลบและบวกและจะบอกคุณได้อย่างแม่นยำ อย่างไรก็ตามมีบางอย่างแปลก ๆ เกี่ยวกับอุปกรณ์ชั่งน้ำหนัก หากคุณใส่เหรียญx_1, x_2, ..., x_jลงในอุปกรณ์เป็นครั้งแรกในครั้งต่อไปคุณต้องใส่เหรียญ(x_1+1), (x_2+1) , ..., (x_j+1)ในเครื่องชั่งยกเว้นคุณไม่สามารถใส่เหรียญที่มีหมายเลขสูงกว่าn-1ได้ ไม่เพียงเท่านั้นสำหรับการชั่งน้ำหนักใหม่ทุกครั้งที่คุณเลือกถ้าคุณต้องการใส่เหรียญ0ลงในเครื่องชั่ง ภายใต้กฎนี้จำนวนการชั่งน้ำหนักที่เล็กที่สุดที่จะบอกคุณได้ว่าเหรียญใดมีน้ำหนัก 1 และน้ำหนักใด -1 เห็นได้ชัดว่าคุณสามารถใส่เหรียญ0ลงในอุปกรณ์ในเทิร์นแรกจากนั้นจะต้องใช้การnชั่งน้ำหนักเพื่อแก้ไขปัญหา ภาษาและห้องสมุด คุณสามารถใช้ภาษาหรือห้องสมุดที่คุณชอบ (ที่ไม่ได้ออกแบบมาสำหรับความท้าทายนี้) อย่างไรก็ตามฉันต้องการทดสอบโค้ดของคุณถ้าเป็นไปได้ดังนั้นหากคุณสามารถให้คำแนะนำที่ชัดเจนเกี่ยวกับวิธีการเรียกใช้ใน Ubuntu ที่จะได้รับการชื่นชมอย่างมาก คะแนน สำหรับnคะแนนของคุณจะถูกnหารด้วยจำนวนน้ำหนักที่คุณต้องการในกรณีที่แย่ที่สุด คะแนนที่สูงขึ้นจึงดีกว่า ไม่มีข้อมูลเกี่ยวกับตัวต่อนี้ แต่เป้าหมายของคุณคือค้นหาสิ่งnที่คุณจะได้รับคะแนนสูงสุด หากมีการเสมอกันคำตอบแรกจะชนะ ในสถานการณ์ที่ไม่น่าเป็นไปได้อย่างมากที่มีคนพบวิธีที่จะได้รับคะแนนอนันต์บุคคลนั้นจะชนะทันที งาน งานของคุณคือการเขียนโค้ดที่ได้คะแนนสูงสุด รหัสของคุณจะต้องเลือกทั้งสองอย่างอย่างชาญฉลาดแล้วจึงปรับจำนวนน้ำหนักให้nเหมาะสม รายการชั้นนำ 4/3 7/5 ในPythonโดย Sarge Borsch 26/14 ในJavaโดย …