ปัญหา : นับจำนวนหลุมในรูปหลายเหลี่ยมที่เชื่อมต่อ การเชื่อมต่อของรูปหลายเหลี่ยมนั้นได้รับการประกันโดยเงื่อนไขว่าสามเหลี่ยมทุกรูปในสามเหลี่ยมป้อนข้อมูลจะใช้ร่วมกันอย่างน้อย 1 ด้านกับรูปสามเหลี่ยมอื่นและมีรูปสามเหลี่ยมที่เชื่อมต่อเพียงชุดเดียว
การป้อนข้อมูลเป็นรายชื่อL
ของn
จุดในเครื่องบินและรายการT
3 tuples 0...n-1
กับรายการจาก สำหรับแต่ละรายการในT
tuple (t_1,t_2,t_3)
แสดงถึงจุดยอดสามจุด (จากรายการL
) ของสามเหลี่ยมในรูปสามเหลี่ยม โปรดทราบว่านี่เป็นรูปสามเหลี่ยมในความหมายของ'รูปหลายเหลี่ยมสามเหลี่ยม'เนื่องจากสิ่งนี้จะไม่มีรูปสามเหลี่ยมสองรูปT
ซ้อนทับกัน ข้อกำหนดเพิ่มเติมคือคุณจะไม่ต้องฆ่าเชื้ออินพุตL
และT
ไม่ต้องทำซ้ำ
ตัวอย่างที่ 1 : ถ้าL = {{0,0},{1,0},{0,1},{1,2}}
และT = {{0,1,2},{1,2,3}}
จากนั้นรูปหลายเหลี่ยมที่ระบุมีจำนวนหลุมเป็น 0
ตัวอย่างที่ 2 : ถ้าL = {{0,0},{1,0},{2,0},{2,1},{2,2},{1,2},{0,2},{0,1},{.5,.5},{1.5,.5},{1.5,1.5},{.5,1.5}}
และT = {{5,6,11},{5,10,11},{4,5,10},{3,8,10},{2,3,9},{2,8,9},{1,2,8},{0,1,8},{0,8,11},{0,7,11},{6,7,11},{3,4,10}}
จากนั้นอินพุตรูปหลายเหลี่ยมควรเป็นผลลัพธ์ของ 2
ภารกิจคือการเขียนโปรแกรมที่สั้นที่สุด (หรือฟังก์ชั่น) ที่ใช้L
และT
เป็นอินพุตและส่งกลับจำนวนของหลุม 'ผู้ชนะ' จะได้รับการยอมรับว่าเป็นรายการที่มีจำนวนตัวอักษรน้อยที่สุด (วันสิ้นสุดเบื้องต้นที่ 1 มิถุนายน)
การจัดรูปแบบอินพุตตัวอย่าง (หมายเหตุการทำดัชนี 0):
0,0
1,0
0,1
1,2
0,1,2
1,2,3
T=1,2,3/1,4,5
เชื่อมต่อ แต่ไม่ได้เชื่อมต่อที่ขอบ)
T=1,2,3/1,2,4/5,6,7/5,6,8
ใช้ตัวอย่างเช่น, สามเหลี่ยมทุกอันแบ่งเป็นขอบกับสามเหลี่ยมอีกอันหนึ่ง แต่การเชื่อมต่อสมการถูกตัดออก