ภูเขาถูกกำหนดให้เป็นชุดของส่วนของเส้นตรงที่มีจุดแรกมีพิกัด(0,a)
ที่a > 0
และมีจุดสุดท้ายมีพิกัดที่(b,0)
b > 0
ทุกจุดกลางมีพิกัด y (ประสานงาน) มากกว่า 0 อย่างเคร่งครัดคุณจะได้รับคะแนนบนภูเขาเรียงตามลำดับจากน้อยไปมากพิกัด x (abscissa) โปรดทราบว่าจุดสองจุดสามารถมีพิกัด x เดียวกันทำให้เกิดส่วนแนวตั้งของภูเขา หากคุณได้รับสองจุดที่มีพิกัด x เดียวกันพวกเขาควรจะเชื่อมต่อตามลำดับที่ได้รับ นอกจากนี้ยังสามารถมีส่วนแนวนอนของภูเขาส่วนแนวนอนเหล่านี้จะไม่สว่างไม่ว่าอะไร พิกัดทั้งหมดเป็นจำนวนเต็มลบ
คำถาม: ความยาวทั้งหมดของภูเขาที่จะส่องสว่างคืออะไรสมมติว่าดวงอาทิตย์เป็นระนาบแนวตั้งที่ไม่มีที่สิ้นสุดของแสงที่ตั้งอยู่ทางด้านขวาของภูเขา? หมายเลขนี้ไม่จำเป็นต้องปัดเศษ แต่ถ้าปัดเศษให้ใส่ทศนิยมอย่างน้อยสี่ตำแหน่ง ฉันได้รวมรูปภาพ: ที่ นี่เส้นที่เป็นตัวหนาแสดงถึงกลุ่มที่สว่าง โปรดทราบว่าในอินพุต P จะปรากฏขึ้นก่อนหน้า Q (PQ เป็นส่วนของเส้นแนวตั้ง) ดังนั้นจุดก่อนหน้านี้เชื่อมต่อกับ P ไม่ใช่ Q
คุณสามารถป้อนข้อมูลในรูปแบบที่เหมาะสมเช่นรายการ, รายการเดียว, สตริง ฯลฯ
กรณีทดสอบ:
(0,3000)
(500, 3500)
(2500, 1000)
(5000,5000)
(9000,2000)
(9000,3500)
(10200,0)
Output: 6200.0000
ที่นี่มีสองส่วนสว่างขึ้นดังที่แสดงในภาพนี้: ส่วนแรกมีความยาว 5,000/2 = 2500 และกลุ่มที่สองมีความยาว 3700
นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
(x1, y1)
และ(x2,y2)
. จุดซึ่งเป็น "การปิดกั้น" มันเป็น(x3, y3)
. สมมติ y2 <y3 <= y1. แล้วความยาวของส่วนที่เป็น((y1 - y3)/(y1 - y2))*sqrt((x1 - x2)^2 + (y1 - y2)^2)
. นี้เป็นหลัก สูตรระยะทางคูณด้วยสัดส่วนของส่วนที่ใช้จริง