18
สร้างบันได
บทนำ ฉันต้องการสร้างบันได สำหรับเรื่องนี้ฉันได้ไปจากที่เก็บขยะสองแผ่นยาวที่มีรูอยู่ในนั้นและฉันต้องการที่จะวางขั้นตอนลงในหลุมเหล่านี้ อย่างไรก็ตามหลุมไม่ได้ถูกวางอย่างเท่าเทียมกันดังนั้นขั้นตอนจะค่อนข้างสั่นคลอนเล็กน้อยและฉันพบว่ามันยากที่จะประเมินจำนวนก้านที่ฉันต้องการสำหรับพวกเขา งานของคุณคือการคำนวณสำหรับฉัน อินพุต อินพุตของคุณคือเวกเตอร์สองบิตที่กำหนดเป็นอาร์เรย์ของจำนวนเต็มซึ่งเป็นตัวแทนของสองบอร์ด A 0หมายถึงส่วนของหนึ่ง aud ( หน่วยระยะทางโดยพลการ ) โดยไม่มีรูและ a 1หมายถึงเซ็กเมนต์ของหนึ่ง aud ด้วยหนึ่งหลุม อาร์เรย์อาจมีความยาวแตกต่างกันและมีจำนวน1s แตกต่างกันแต่จะไม่ว่างเปล่า ฉันจะสร้างบันไดของฉันดังนี้ ครั้งแรกฉันวางบอร์ดสองแผ่นแยกกันหนึ่งเสียงและจัดวางที่ปลายด้านซ้าย สำหรับแต่ละดัชนีiฉันวัดระยะทางระหว่างiรูที่สองของบอร์ดแรกกับiรูที่สองของบอร์ดที่สองตัดท่อนไม้หนึ่งท่อนแล้วติดไว้ระหว่างรูทั้งสอง ฉันหยุดเมื่อฉันวิ่งออกจากหลุมในกระดานใดกระดานหนึ่ง เอาท์พุต ผลลัพธ์ของคุณคือจำนวนก้านทั้งหมดที่ฉันต้องการสำหรับขั้นตอนซึ่งวัดเป็นหน่วย ผลลัพธ์ควรถูกต้องเป็นเลขนัยสำคัญอย่างน้อยหกหลัก ตัวอย่าง พิจารณาปัจจัยการผลิตและ[0,1,1,0,1,1,1,1,0,0] [1,0,0,1,1,1,0,0,1]บันไดที่เกิดขึ้นมีลักษณะเช่นนี้: ความยาวรวมของก้านในบันไดนี้คือการ7.06449510224598ตรวจสอบ กฎระเบียบ คุณสามารถเขียนฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบ จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต กรณีทดสอบ [0] [0] -> 0.0 [0] [1,0] -> 0.0 [1,0,0] [1,1,1,1,1] -> 1.0 [0,1,0,1] [1,0,0,1] -> …