यह 2010 प्रशांत एसीएम-आईसीपीसी प्रतियोगिता में एक समस्या थी। इसका अर्थ त्रिभुज के अंदर बिंदुओं के एक सेट को तीन subtriangles में विभाजित करने का एक तरीका खोजने का प्रयास कर रहा है जैसे कि प्रत्येक विभाजन में अंक का एक तिहाई हिस्सा होता है।त्रिभुज विभाजन
इनपुट: बाउंडिंग त्रिकोण का
- निर्देशांक:
(v1x,v1y),(v2x,v2y),(v3x,v3y)
- अनेक
3n < 30000
त्रिकोण 3n
अंकों की निर्देशांक अंदर झूठ बोल अंकों की संख्या का प्रतिनिधित्व:(x_i,y_i)
के लिएi=1...3n
आउटपुट:
- एक बिंदु
(sx,sy)
3 subtriangles में त्रिकोण ऐसा है कि प्रत्येक subtriangle बिल्कुलn
बिंदु हैं विभाजन कि।
जिस तरह से विभाजित बिंदु बाध्यकारी त्रिभुज को subtriangles में विभाजित करता है, निम्नानुसार है: विभाजन बिंदु से तीन पंक्तियों में से प्रत्येक पंक्ति को एक रेखा बनाएं। यह त्रिकोण को 3 subtriangles में विभाजित करेगा।
हमें गारंटी है कि ऐसा बिंदु मौजूद है। ऐसा कोई भी बिंदु पर्याप्त होगा (उत्तर जरूरी नहीं है)।
n=2
(6 अंक) के लिए समस्या का एक उदाहरण यहां दिया गया है। हमें प्रत्येक रंगीन बिंदुओं के समन्वय और बड़े त्रिकोण के प्रत्येक चरम के निर्देशांक दिए जाते हैं। विभाजन बिंदु ग्रे में घिरा हुआ है।
कोई तेजी से O(n^2)
से एक एल्गोरिथ्म का सुझाव कर सकते हैं?
आपको यह यहां पूछना चाहिए: http://math.stackexchange.com/ – Ariel
यह एक एल्गोरिदम प्रश्न है, गणित प्रश्न नहीं। – tskuzzy
मैं एक सरल-जैसी विधि का उपयोग करता हूं। – wildplasser