ช่วยด้วย! การสอบคณิตศาสตร์ของฉันกำลังจะมาในไม่ช้าและฉันไม่ได้เรียน! 1ส่วนหนึ่งของการสอบคือการจำแนกรูปสี่เหลี่ยมขนมเปียกปูนเนื่องจากพิกัดจุดยอดของมันซึ่งน่าเสียดายที่ฉันไม่รู้วิธีการทำ 2
ดังนั้นความท้าทายของคุณคือการเขียนโปรแกรมเพื่อทำสิ่งนี้ให้ฉันดังนั้นฉันจึงไม่ล้มเหลว!
ท้าทาย
ให้สี่จุดยอดที่ไม่มีสาม colinear กำหนดประเภทที่เฉพาะเจาะจงมากที่สุดของรูปสี่เหลี่ยมที่เกิดจากจุดยอดทั้งสี่
สิ่งที่ฉันหมายถึงโดย "การจำแนกเฉพาะส่วนใหญ่" คือแม้ว่าสี่เหลี่ยมทั้งหมดเป็นสี่เหลี่ยมถ้ารูปร่างเป็นสี่เหลี่ยมคุณควรระบุว่ามันเป็นสี่เหลี่ยมจัตุรัสและไม่ได้ระบุว่ามันเป็นสี่เหลี่ยม
อินพุต
อินพุตจะได้รับเป็นพิกัดสี่ (x, y) คุณสามารถใช้รายการเหล่านี้เป็นรายการความยาว 4 จากรายการ / tuples ของความยาว 2 หรือคุณสามารถป้อนข้อมูลเป็นรายการของพิกัด x และรายการของพิกัด y ที่เกี่ยวข้อง
ตัวอย่างเช่นถ้ารูปร่างของฉันมีจุดที่จุด(0, 0)
, (5, 0)
, (6, 1)
และ(1, 1)
คุณอาจเลือกที่จะใช้การป้อนข้อมูลทั้งในรูปแบบต่อไปหรือบางสิ่งบางอย่างที่คล้ายกัน:
[(0, 0), (5, 0), (6, 1), (1, 1)]
([0, 5, 6, 1], [0, 0, 1, 1])
คุณอาจสมมติว่ารูปสี่เหลี่ยมสามเหลี่ยมไม่ได้ตัดกันด้วยตนเองและให้คะแนนตามลำดับที่ถูกต้อง (นั่นคือสองจุดติดต่อกันในอินพุตจะถูกเชื่อมต่อโดยส่วนของเส้นตรงในรูปสี่เหลี่ยมสามเหลี่ยม)
เอาท์พุต
คุณจะต้องมีเอาต์พุตที่ไม่ซ้ำกันสำหรับคลาส quadrilaterals แต่ละคลาสต่อไปนี้:
- สี่เหลี่ยม
- สี่เหลี่ยมผืนผ้า
- รูปสี่เหลี่ยมขนมเปียกปูน
- สี่เหลี่ยมด้านขนาน
- สี่เหลี่ยมคางหมู / รูปสี่เหลี่ยมคางหมู
- ว่าว
- รูปสี่เหลี่ยม
นี่อาจเป็นชื่อที่แน่นอนตัวละครตัวอักษรจำนวนเต็ม ฯลฯ
กฎระเบียบ
- ช่องโหว่มาตรฐานใช้
- หากภาษาการเขียนโปรแกรมของคุณมีอยู่แล้วภายในที่จะทำงานที่แน่นอนนี้ไม่อนุญาตให้ใช้งานบิวด์อินนั้น
- บิวด์อินสำหรับค้นหาระยะห่างระหว่างสองจุดได้รับอนุญาต
- บิวด์อินสำหรับค้นหามุมระหว่างสองบรรทัดได้รับอนุญาต
ณ จุดนี้ถ้าคุณรู้เงื่อนไขทั้งหมดคุณก็พร้อมที่จะเริ่มโปรแกรม! (กรณีทดสอบสิ้นสุดแล้ว)
คำศัพท์
ส่วนนี้มีไว้สำหรับทุกคนที่ต้องการความกระจ่างเกี่ยวกับคำจำกัดความของรูปร่างที่แตกต่างกัน
สี่เหลี่ยม
สี่เหลี่ยมจัตุรัสเป็นสี่เหลี่ยมจัตุรัสถ้าหากว่าด้านทั้งสี่ของมันมีความยาวเท่ากันและทุกคู่ของด้านประชิดนั้นตั้งฉาก (นั่นคือมันเป็นทั้งสี่เหลี่ยมผืนผ้าและสี่เหลี่ยมขนมเปียกปูน)
สี่เหลี่ยมผืนผ้า
รูปสี่เหลี่ยมขนมเปียกปูนเป็นรูปสี่เหลี่ยมผืนผ้าถ้าหากว่าคู่ข้างเคียงทุกคู่ตั้งฉากกัน
รูปสี่เหลี่ยมขนมเปียกปูน
รูปสี่เหลี่ยมขนมเปียกปูนเป็นรูปสี่เหลี่ยมขนมเปียกปูนถ้าหากว่าทั้งสี่ด้านเท่ากัน
สี่เหลี่ยมด้านขนาน
รูปสี่เหลี่ยมขนมเปียกปูนเป็นสี่เหลี่ยมด้านขนานถ้าหากว่าคู่ของด้านตรงข้ามแต่ละคู่ขนานกันและมุมของคู่ที่ตรงกันข้ามนั้นเท่ากัน เงื่อนไขทั้งสองนี้มีความหมายซึ่งกันและกันคุณจึงต้องตรวจสอบเงื่อนไขข้อใดข้อหนึ่ง
สี่เหลี่ยมคางหมู / รูปสี่เหลี่ยมคางหมู
รูปสี่เหลี่ยมขนมเปียกปูนเป็นสี่เหลี่ยมคางหมู / สี่เหลี่ยมคางหมูหากว่ามันมีคู่ขนานอย่างน้อยหนึ่งคู่
ว่าว
รูปสี่เหลี่ยมขนมเปียกปูนเป็นว่าวถ้าสองคู่ที่อยู่ติดกันมีความยาวเท่ากัน นั่นคือสองข้างประชิดเท่ากันและอีกสองเท่ากัน
กรณีทดสอบ
input as (x, y) * 4 -> full name
[(0, 0), (1, 0), (1, 1), (0, 1)] -> square
[(0, 0), (1, 1), (-1, 3), (-2, 2)] -> rectangle
[(0, 0), (5, 0), (8, 4), (3, 4)] -> rhombus
[(0, 0), (5, 0), (6, 1), (1, 1)] -> parallelogram
[(0, 0), (4, 0), (3, 1), (1, 1)] -> trapezoid/trapezium
[(0, 0), (1, 1), (0, 3), (-1, 1)] -> kite
[(0, 0), (2, 0), (4, 4), (0, 1)] -> quadrilateral
ลิงค์ (เครื่องคำนวณกราฟ Desmos)
นี่คือลิงค์ไปสู่การสร้างภาพข้อมูลของกรณีทดสอบแต่ละกรณี
ตาราง
สี่เหลี่ยมผืนผ้า
Rhombus
สี่เหลี่ยมด้านขนาน
สี่เหลี่ยมคางหมู / รูปสี่เหลี่ยมคางหมู
ว่าว
รูปสี่เหลี่ยมขนมเปียกปูน
เกณฑ์การชนะ
ฉันไม่สามารถนำคอมพิวเตอร์มาสอบได้อย่างชัดเจนดังนั้นฉันต้องการให้คุณเขียนรหัสที่สั้นที่สุดเท่าที่จะเป็นไปได้เพื่อที่ฉันจะสามารถจดจำได้ ฉันต้องเขียนลงในระยะขอบและรันโดยใช้ TryItOffline TMเพื่อให้พอดีกับระยะขอบของโปรแกรมที่คุณต้องการให้มีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้!
1แน่นอนฉันทำจริง: P
2แน่นอนฉันทำจริง: P