ตัวเก็บประจุมีชื่อเสียงในการผลิตด้วยความทนทานสูง ซึ่งเป็นที่ยอมรับได้ในหลายกรณี แต่บางครั้งจำเป็นต้องใช้ความจุที่มีค่าความคลาดเคลื่อน จำกัด กลยุทธ์ทั่วไปในการรับกำลังการผลิตด้วยมูลค่าที่แน่นอนที่คุณต้องการคือการใช้ตัวเก็บประจุที่วัดอย่างรอบคอบสองชุดพร้อมกันเพื่อให้ความจุเพิ่มขึ้นกับบางสิ่งในช่วงที่คุณต้องการ
เป้าหมายในการท้าทายนี้คือกำหนดความจุ (หลายชุด) เพื่อจับคู่ตัวเก็บประจุเพื่อให้ความจุรวมของแต่ละคู่อยู่ในช่วงที่กำหนด คุณต้องค้นหาชุดการจับคู่ที่ดีที่สุดนั่นคือชุดการจับคู่ที่พบมากที่สุดเท่าที่จะเป็นไปได้
ข้อ จำกัด
- อินพุตประกอบด้วยรูปแบบของตัวเลือก
- รายการความจุที่ไม่มีการเรียงลำดับซึ่งเป็นตัวแทนของชุดตัวเก็บประจุ (หลาย) ที่คุณมี
- คู่ของความจุที่แสดงขอบเขตล่างและบนของช่วงเป้าหมาย (รวม)
- ความจุทั้งหมดในอินพุตเป็นจำนวนเต็มบวกที่น้อยกว่า 2 30หน่วยคือ pF (ไม่ใช่แบบนั้นสำคัญ)
- นอกเหนือจากรายการความจุในอินพุตชุดตัวเก็บประจุที่คุณยังมีจำนวนของตัวเก็บประจุที่ไม่มีที่สิ้นสุดที่มีค่า 0 pF
- เอาต์พุตประกอบด้วยรูปแบบของตัวเลือกรายการคู่ของความจุซึ่งผลรวมของแต่ละคู่อยู่ในช่วงเป้าหมายที่ระบุ ไม่ได้ระบุลำดับของคู่หรือลำดับความจุภายในคู่
- ความจุในการส่งออกไม่อาจปรากฏบ่อยขึ้นกว่าที่ปรากฏอยู่ในชุดของตัวเก็บประจุที่คุณมี กล่าวอีกนัยหนึ่ง: คู่ที่คุณส่งออกจะต้องไม่ทับซ้อนกัน
- จะต้องไม่มีเงื่อนไขที่เป็นไปได้สำหรับผลลัพธ์ที่เป็นไปได้ 4 และ 5 ที่มีความจุมากกว่าคู่ที่เอาต์พุตของโปรแกรมของคุณสร้างขึ้น
- โปรแกรมของคุณจะยุติในเวลา O ( n !) โดยที่nคือความยาวของรายการที่แสดงถึงชุดของตัวเก็บประจุที่คุณมี
- ช่องโหว่จะไม่ถูกทารุณกรรม
- ช่วงเป้าหมายจะต้องไม่ว่างเปล่า
เกณฑ์การให้คะแนน
คะแนนของคุณคือความยาวของการแก้ปัญหาของคุณใน octets หากวิธีการแก้ปัญหาของคุณจัดการเพื่อแก้ปัญหานี้ในเวลาพหุนาม O ( n k ) สำหรับkบางส่วนให้หารคะแนนของคุณด้วย 10 ฉันไม่ทราบว่าเป็นไปได้จริง
ตัวอย่างอินพุต
ช่วง 100 ถึง 100, อินพุตอาร์เรย์
100 100 100
, เอาต์พุตที่ถูกต้อง:0 100 0 100 0 100
ช่วง 100 ถึง 120, อินพุตอาร์เรย์
20 80 100
, เอาต์พุตที่ถูกต้อง:0 100 20 80
เอาต์พุต
20 100
ไม่ถูกต้องช่วง 90 ถึง 100, อินพุตอาร์เรย์
50 20 40 90 80 30 60 70 40
, เอาต์พุตที่ถูกต้อง:0 90 20 80 30 70 40 60 40 50
ช่วง 90 ถึง 90, อินพุตอาร์เรย์
20 30 40 40 50 60 70 80 90
, เอาต์พุตที่ถูกต้อง:0 90 20 70 30 60 40 50
ช่วง 90 ถึง 110, อินพุตอาร์เรย์
40 60 50
, เอาต์พุตที่ถูกต้อง:40 60
a <= b <= c <= d
ตัวอย่างที่a + d, a + c, b + d
อยู่ในช่วง แต่b + c
ไม่ใช่ แต่มีความขัดแย้ง