เทียนน้อยเป็นเรื่องน่าเศร้า วาดเขาเป็นก้อนเมฆเพื่อให้กำลังใจเขา
หมายเหตุ: การวาดภาพบนคลาวด์จะไม่ทำให้เขามีกำลังใจ
วงกลมสามารถนิยามเป็น 3-tuple (x,y,r)
โดยที่x
ตำแหน่ง x ของวงกลมบนระนาบคาร์ทีเซียนy
คือตำแหน่ง y ของวงกลมบนระนาบคาร์ทีเซียนและr
เป็นรัศมีของวงกลม x
และy
อาจเป็นลบ r
เป็นบวกเสมอ อินพุตเป็นรายการของวงกลมในรูปแบบของช่องว่างคั่น 3-tuples ตัวอย่างเช่น
3,1,1 3,2,1.5 1,2,0.7 0.9,1.2,1.2 1,0,0.8
3,1,1
หมายถึง "วงกลมที่มีจุดศูนย์ที่3,1
1 รัศมี. 3,2,1.5
หมายความว่า" วงกลมที่มีจุดศูนย์กลางที่ A 3,2
พร้อมกับ 1.5 รัศมี
หากเราวาดวงกลมทั้งหมดของอินพุตบนกราฟดูเหมือนว่านี้ (ฉันได้รวมเส้นกริดและป้ายกำกับเพื่อความชัดเจนเท่านั้นพวกเขาไม่จำเป็นต้องใช้):
สังเกตว่าวงกลมทั้งหมดกลมกลืนกันอย่างไร นั่นคือพวกเขาทั้งหมดซ้อนทับกันเพื่อให้เกิดกลุ่มใหญ่กลุ่มหนึ่งโดยไม่มีกลุ่มวงกลมเล็ก ๆ แยกออกจากส่วนที่เหลือ อินพุตรับประกันว่าจะเหนียวแน่น
สมมติว่าตอนนี้เราวาดเส้นที่เดินทางรอบ "เส้นขอบ" ที่เกิดจากวงกลมเหล่านี้โดยไม่มีเส้นอื่นใด มันจะเหมือนกับการวาดเส้นขอบของเงาที่เกิดจากวงกลมทั้งหมด เมฆที่เกิดขึ้นจะมีลักษณะเช่นนี้:
ดังนั้นคลาวด์นี้จึงถูกสร้างขึ้นโดยการวาดเฉพาะส่วนโค้งของวงกลมในอินพุตที่ก่อตัวเป็นเส้นขอบ กล่าวอีกนัยหนึ่งระบบคลาวด์เกิดจากการวาดส่วนโค้งที่ไม่ได้อยู่ในวงกลมอื่น โปรแกรมของคุณจะป้อนข้อมูลในแบบฟอร์มที่อธิบายข้างต้นและส่งภาพที่แสดงคลาวด์ที่เกิดขึ้น รูปร่างโดยรวมของคลาวด์จะต้องถูกต้อง แต่ขนาดสีความหนาของเส้นและลักษณะของจุดยอดนั้นขึ้นอยู่กับคุณ โปรดทราบว่าคลาวด์ต้องสามารถมองเห็นได้ดังนั้นคุณไม่สามารถดึงบางสิ่งบางอย่างเช่น "โปรแกรมนี้วาดคลาวด์สีขาวบนพื้นหลังสีขาว", "โปรแกรมนี้วาดคลาวด์ในระดับที่เล็กที่สุด", "โปรแกรมนี้ดึงคลาวด์ด้วย 0 ความหนาของเส้น "เป็นต้นโปรดทราบว่าสีของเส้นขอบต้องแตกต่างจากสีของการเติมหรือพื้นหลัง
ตัวอย่างอื่น. การป้อนข้อมูล:
1,4,2 5,2,1 3,1,1 3.5,2,1.2 3,3,0.7 1,2,0.7
เอาท์พุท:
หากมี "รู" ในคลาวด์คุณควรวาดรูด้วย การป้อนข้อมูล:
0,5,4 3,4,4 4,3,4 5,0,4 4,-3,4 3,-4,4 0,-5,4 -3,-4,4 -4,-3,4 -5,0,4 -4,3,4 -3,4,4
เอาท์พุท:
นี่คือกฎสำคัญ: โปรแกรมของคุณต้องวาดเฉพาะเส้นที่ประกอบเป็นเส้นขอบ ซึ่งหมายความว่าคุณไม่สามารถวาดวงกลมได้อย่างสมบูรณ์แล้ววาดวงกลมที่เล็กลงด้วยการเติมสีขาวเล็กน้อย - เนื่องจากวิธีการนั้นยังคงวาดเส้นที่ไม่ได้สร้างเส้นขอบ จุดประสงค์ของกฎคือเพื่อป้องกัน "วาดวงกลมแล้ววาดวงกลมอีกครั้งด้วยการเติมสีขาว" หรืออะไรก็ตามที่คล้ายกัน คำตอบคาดว่าจะคำนวณตำแหน่งที่จะวาดสิ่งต่าง ๆ ก่อนที่จะทำการวาด
นี่คือรหัสกอล์ฟดังนั้นจำนวนตัวละครที่สั้นที่สุดจึงชนะ