संक्षिप्त समस्या स्पष्टीकरण
केवल दो बिंदुओं के बीच की न्यूनतम दूरी ज्ञात करने के लिए एक कार्यक्रम लिखें, जो मूल से निकलने वाली किरणों और मूल पर केंद्रित हलकों पर यात्रा कर रहा है।
परिसर का स्पष्टीकरण
अब आइए कल्पना करें कि हम एक विमान पर हैं, और इस विमान में हमें केवल विशेष तरीकों से यात्रा करने की अनुमति है। हमें मूल से निकलने वाली किसी भी किरण पर यात्रा करने की अनुमति है।
हम किसी सर्कल पर केंद्रित किसी भी सर्कल पर यात्रा कर सकते हैं
अब हमारा लक्ष्य इस विमान से एक बिंदु से दूसरे तक यात्रा करना है। हालाँकि, हम केवल एक साधारण यूक्लिडियन पथ में यात्रा नहीं कर सकते हैं, हम ऐसा केवल तभी कर सकते हैं जब बिंदु केंद्र से निकलने वाली किरण पर पड़ें।
हम इस पर यात्रा कर सकते हैं क्योंकि यह हमारी किरणों में से एक पर गिरती है।
हम मूल पर केंद्रित हलकों पर भी यात्रा कर सकते हैं।
उदाहरण
अब यहाँ चुनौती है:
हमें सबसे छोटे मार्ग में एक बिंदु से दूसरे बिंदु तक जाना है; अक्सर यह मंडलियों और किरणों पर यात्रा करने का एक संयोजन है।
हालांकि, यह दो किरणों पर भी यात्रा कर सकता है।
कभी-कभी दो रास्ते होते हैं जो न्यूनतम दूरी तय करते हैं।
संकट
आपकी चुनौती एक कार्यक्रम लिखने की है कि जब दो अंक दिए जाएंगे तो हम इन नियमों का पालन करेंगे। आदानों को आयताकार या ध्रुवीय रूपों में दिया जा सकता है और आउटपुट को एक संख्या, बीच की दूरी होना चाहिए।
परीक्षण के मामलों
(आयताकार इनपुट के साथ)
(1,1) (1,-1) -> ~ 2.22144
(0,0) (1, 1) -> ~ 1.41421
(1,0) (-0.4161 , 0.90929) -> ~ 2
(1,1) (1, 0) -> ~ 1.19961
(1,2) (3, 4) -> ~ 3.16609