परिचय
इस चुनौती में, हम एक निश्चित अनंत अप्रत्यक्ष ग्राफ के साथ काम करेंगे, जिसे मैं उच्च भाजक ग्राफ कहता हूं । इसके नोड्स 2. से शुरू दो नोड्स के बीच एक बढ़त नहीं है पूर्णांक हैं एक <b अगर एक विभाजित ख और एक 2 ≥ ख । 2 से 18 तक की सीमा से बनने वाला उपसमूह इस तरह दिखता है:
16-8 12 18
\|/ |/|
4 6 9 10 15 14
| |/ |/ |
2 3 5 7 11 13 17
यह दिखाया जा सकता है कि अनंत उच्च विभाजक ग्राफ जुड़ा हुआ है, इसलिए हम दो नोड्स के बीच सबसे छोटे मार्ग के बारे में पूछ सकते हैं।
इनपुट और आउटपुट
आपके इनपुट दो पूर्णांक हैं a और b । आप मान सकते हैं कि 2 ≤ ≤ b <1000 । आपका आउटपुट अनंत उच्च विभाजक ग्राफ में a और b के बीच सबसे छोटे पथ की लंबाई है । इसका अर्थ है मार्ग में किनारों की संख्या।
आपको निम्नलिखित तथ्य उपयोगी लग सकते हैं: हमेशा ए से बी तक एक इष्टतम पथ मौजूद होता है जो पहले बढ़ रहा है और फिर घट रहा है, और केवल नोड्स का दौरा करता है जो कड़ाई से 2 बी 2 से कम हैं । विशेष रूप से, बी <1000 के बाद से आपको केवल 2 000 000 से कम नोड्स पर विचार करने की आवश्यकता है।
उदाहरण
इनपुट पर विचार करें 3और 32। नोड्स 3 और 32 के बीच एक संभावित पथ है
3 -- 6 -- 12 -- 96 -- 32
इस पथ के चार किनारे हैं, और यह पता चलता है कि छोटे रास्ते नहीं हैं, इसलिए सही आउटपुट है 4।
एक अन्य उदाहरण के रूप में, के लिए एक इष्टतम मार्ग है 2और 25है
2 -- 4 -- 8 -- 40 -- 200 -- 25
इसलिए सही उत्पादन होता है 5। इस स्थिति में, किसी भी इष्टतम पथ में नोड नहीं है 50 = lcm(2, 25)।
नियम और स्कोरिंग
आप एक पूर्ण कार्यक्रम या एक फ़ंक्शन लिख सकते हैं। सबसे कम बाइट गिनती जीतता है, और मानक खामियों को रोक दिया जाता है। कोई समय या स्मृति सीमा नहीं है, इसलिए पाशविक बल की अनुमति है।
परीक्षण के मामलों
2 2 -> 0
2 3 -> 4
2 4 -> 1
2 5 -> 5
3 5 -> 4
6 8 -> 2
8 16 -> 1
12 16 -> 2
16 16 -> 0
2 25 -> 5
3 32 -> 4
2 256 -> 3
60 77 -> 3
56 155 -> 3
339 540 -> 2
6 966 -> 4
7 966 -> 2
11 966 -> 4
2 997 -> 7
991 997 -> 4
FindShortestPath उल्लंघन मानक खामियों के बारे में है? यदि ऐसा होता है, तो मुझे बताएं और मैं अपना सबमिशन हटा दूंगा।