मंडलियों और वर्गों में एक एकल, निश्चित केंद्र बिंदु है। हालांकि, एक त्रिकोण के केंद्र की धारणा लंबे समय से चर्चा की गई है। चार अलग-अलग केंद्र प्राचीन यूनानियों के लिए जाने जाते थे:
- इनकेंटर : त्रिभुज के कोण द्विभाजक का चौराहा
- सेंट्रोइड : त्रिकोण के प्रत्येक शीर्ष से इसके विपरीत पक्ष के मध्य तक की रेखाओं का प्रतिच्छेदन
- परिधि : पक्षों के लंबवत द्विभाजनों का प्रतिच्छेदन
- ऑर्थोसेंटर : त्रिकोण के ऊंचाई का चौराहा
बाद में यूलर ने साबित किया कि किसी भी त्रिभुज में केन्द्रक, परिधि और ऑर्थोसेंटर का मिलन होता है। त्रिकोण में इन तीन बिंदुओं पर जो रेखा होती है, उसे यूलर रेखा कहते हैं । यह एक समबाहु त्रिभुज को छोड़कर प्रत्येक त्रिभुज के लिए परिभाषित किया जाता है, जहाँ सभी बिंदु संयोग करते हैं।
आपकी चुनौती सबसे छोटा प्रोग्राम या फ़ंक्शन बनाना है, जब दो इनपुट दिए जाते हैं, एक विशिष्ट केंद्र या त्रिकोण की यूलर लाइन को आउटपुट करता है। पहले एक त्रिकोण के प्रत्येक शीर्ष के निर्देशांक को निर्दिष्ट करता है। दूसरा 1 से 5 तक का पूर्णांक है, जो यह निर्धारित करता है कि आउटपुट क्या है।
1 - Incenter
2 - Centroid
3 - Circumcenter
4 - Orthocenter
5 - Equation of Euler Line
(if the Euler Line is vertical, output the `x` value of the line
(e.g. output `5` if the equation of the line is `x = 5`))
आप मान सकते हैं कि दिए गए कोने कभी भी आपस में नहीं मिलेंगे, और यह कि वे हमेशा पूर्णांक निर्देशांक होंगे (यह इनपुट के रूप में एक समबाहु त्रिभुज की संभावना को भी शामिल करता है, जैसा कि @ R.Kap की टिप्पणी के अनुसार )।
इनपुट सरणी आपकी भाषा में एक मान्य नेस्टेड सरणी होनी चाहिए, और इनपुट किसी भी उचित प्रारूप में होना चाहिए। किसी भी फ्लोट मान को कम से कम 3 दशमलव स्थानों पर प्रदर्शित किया जाना चाहिए, लेकिन कम नहीं। इनपुट प्रारूप के साथ मेल खाते हुए आउटपुट बिंदु आपकी भाषा में एक मान्य सरणी होनी चाहिए।
परीक्षण के मामलों:
Input: [(-2, 0), (1, 0), (0, 1)] 1
Output: (-0.089, 0.451)
Input: [(-2, 0), (1, 0), (0, 1)] 2
Output: (-0.333, 0.333)
Input: [(-2, 0), (1, 0), (0, 1)] 3
Output: (-0.5, -0.5)
Input: [(-2, 0), (1, 0), (0, 1)] 4
Output: (0, 2)
Input: [(-2, 0), (1, 0), (0, 1)] 5
Output: 5x + 2
स्पष्टता: इनपुट या तो स्टडिन से हो सकता है, या तो स्पेस या नई-लाइन अलग हो सकती है, या किसी फ़ंक्शन के तर्क के रूप में। हालाँकि, आउटपुट को stdout को लिखा जाना चाहिए।
y=f(x)।
(if the triangle is equilateral, output the point at which the centers meet)क्योंकि केवल पूर्णांक निर्देशांक का उपयोग करके समतल विमान पर एक समभुज त्रिभुज बनाना संभव नहीं है।