ขึ้นอยู่กับก้อนกับมู Strings
Squiggles /\_/\/\__/\/\/\/\_/\_/\
สนุกที่จะทำบนคีย์บอร์ดเมื่อคุณเบื่อจริงๆ แต่ไม่ได้สร้าง squiggles ทั้งหมดเท่ากัน squiggles บางคนมีความเรียบเนียนเหมือนและบางก้อนเช่น\___/
/\/\/\/\
บางคนก็แตกหักเหมือนกัน////_\\\
ภายในN
ตัวละครทุกตัวมีN-1
การแยกตัวอักษร แต่ละแยกเป็นประเภทหนึ่งในสามประเภท squiggle:
เรียบ (มุม> "90 องศา"):
\_ __ _/
หนา (มุม = "90 องศา")
/\ \/
แตก (สิ่งที่ไม่ได้เชื่อมต่อ)
// \\ /_ _\
ลองกำหนดความเรียบเนียนให้เป็นสัดส่วนของรอยต่อที่ราบรื่นด้วยความหนาและความแตกหักที่กำหนดไว้ในทำนองเดียวกัน แต่ละค่าช่วงระหว่างและ0
1
ผลรวมของความนุ่มนวล, ความอ้วนและความแตกหักของ squiggle เท่ากับ 1 เสมอ
ตัวอย่างเช่น squiggle /\/\\_//\_
มีทางแยกเรียบ 3 จุด, ทางแยกแบบอ้วน 4 อันและทางแยกย่อย 2 จุด มันจึง0.3333
ราบรื่น, เป็น0.4444
ก้อนและ0.2222
หัก
สตริงว่างและสตริงที่มีอักขระเพียงตัวเดียวเท่านั้นที่มีค่าที่ไม่ได้กำหนดอินพุตทั้งหมดจะมีความยาวอย่างน้อย 2 ตัวอักษร
ท้าทาย
เขียนโปรแกรมที่ใช้ความยาวโดยพลการและกำหนดค่าความเรียบความหนาและความแตกหักสองค่า
- คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นที่มีอินพุตผ่าน STDIN, บรรทัดคำสั่งหรือเป็นอาร์กิวเมนต์สตริง
- คุณอาจสันนิษฐานว่าอินพุตมีความยาวอย่างน้อย> = 2และประกอบด้วยอักขระที่
/\_
มีบรรทัดขึ้นต่อท้ายที่เป็นตัวเลือกเท่านั้น - พิมพ์ (หรือส่งคืนถ้าฟังก์ชัน) ทั้งสองลอยไปที่ความแม่นยำอย่างน้อย 4 ทศนิยมปัดเศษหรือตัดทอน หากมูลค่าที่แท้จริงคือ
2/3
ค่าที่ยอมรับได้ประกอบด้วยค่าใด ๆ ระหว่าง0.6666
และแม้สิ่งที่ต้องการ0.6667
0.666637104
หากค่าที่แน่นอนคือ1/3
คำตอบใด ๆ ที่มี0.3333
อยู่ถูกต้อง คุณอาจปล่อยค่าศูนย์ต่อท้ายหรือศูนย์นำหน้าถ้าค่าน้อยกว่าหนึ่ง - เอาต์พุตคู่ใด ๆ ของสามค่าตามที่คุณต้องการเพียงแค่ให้แน่ใจว่าได้ระบุว่าสองและในลำดับใด
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
ตัวอย่าง
/\/\\/\//\\
→ความนุ่มนวลความ0
หนาความ0.7
แตกหัก0.3
_/\\_/\\/__/\\\//_
→ความนุ่มนวลความ0.29411764705
หนาความ0.29411764705
แตกหัก0.41176470588
//\\__/_\/
→ความนุ่มนวลความ0.3333333
หนาความ0.2222222
แตกหัก0.4444444
คำถามโบนัส: สิ่งใดที่คุณชอบ squiggles เรียบหรือเป็นก้อนหรือแตก?