एक सौंदर्यवादी रूप से मनभावन डिवाइडर ट्री इनपुट के डिवाइडर का एक पेड़ है n
जो किसी भी समग्र संख्या के लिए m
, दो बच्चों के नोड्स होते हैं जो विभाजक की जोड़ी होते हैं जो वर्गमूल के सबसे करीब होते हैं m
। बाएं नोड का छोटा विभाजक होना चाहिए m
और दायाँ नोड बड़ा विभाजक होना चाहिए m
। पेड़ में एक प्रमुख संख्या में कोई बच्चे नहीं होना चाहिए। आपका पेड़ पाठ कला या एक छवि के रूप में हो सकता है। टेक्स्ट आर्ट आउटपुट के नियम इस प्रकार हैं।
नियमों का पालन करना
पेड़ पर नोड्स को बाहर निकालने के लिए, हमारे पास निम्नलिखित नियम हैं:
- रूट से दी गई गहराई पर नोड्स आउटपुट में टेक्स्ट की एक ही लाइन पर होना चाहिए।
/ \ नहीं / \ / \ / 3 २ ३ २
- बाईं ओर के नोड्स के लिए, आने वाली शाखा ऊपरी दाईं ओर होनी चाहिए यदि नोड एकल-अंक संख्या है, और, अंतिम अंक के ठीक ऊपर। उदाहरण:
/ तथा / 3 720
- दाएं नोड्स के लिए, आने वाली शाखा ऊपरी बाईं तरफ होनी चाहिए यदि नोड एक एकल अंक संख्या है, और, पहले अंक के ठीक ऊपर। उदाहरण:
\ तथा \ 3 २४३
- आउटगोइंग बाईं शाखाओं के लिए, शाखा को नंबर के बाईं ओर एक स्थान शुरू करना चाहिए। उदाहरण:
275 / 1 1
- आउटगोइंग राइट शाखाओं के लिए, शाखा को नंबर के दाईं ओर एक स्थान शुरू करना चाहिए। उदाहरण:
275 \ 25
- पेड़ के समान स्तर पर किसी भी दो नोड्स के बीच न्यूनतम दो रिक्त स्थान होना चाहिए। इसी समय, पेड़ के समान स्तर पर किसी भी दो उपप्रकार के बीच जितना संभव हो उतना कम स्थान होना चाहिए।
यह पेड़ इसलिए काम नहीं करता है क्योंकि ** उपप्रकार ** बहुत करीब हैं। 504 / \ _ / \ _ / \ _ / \ _ २१। 24 / \ _ / \ _ / \ _ / \ _ ३ 3 ४ ६ । / \ / \ .2 2 2 3 जबकि यह पेड़ अपनी शाखाओं के बीच पर्याप्त स्थान रखता है। 504 / \ _ / \ _ / \ _ / \ _ / \ _ 21 ... 24 / \ ... / \ / \ ... / \ ३ 3 ... ४ ६ ... / \ / \ ... २ २ २ ३
- यदि कोई दो उपप्रकार एक पेड़ पर एक साथ बहुत करीब हैं, तो उन्हें
/\
माता-पिता के ऊपर पेड़ की शाखाओं की एक और पंक्ति जोड़कर अलग किया जा सकता है ।
441 / \ आखिरी पंक्ति अभी तक नहीं भरी गई है और हम पहले ही अंतरिक्ष से बाहर भाग चुके हैं। २१ २१ / \ / \ शाखाओं की एक और पंक्ति जोड़ें 441 / \ लगभग, लेकिन 7 और 3 एक साथ बहुत करीब हैं। / \ एक और पंक्ति इसे करना चाहिए। २१ २१ / \ / \ 3 7 3 7 शाखाओं की एक और पंक्ति जोड़ें 441 / \ और हम कर रहे हैं। / \ _ / \ _ २१ २१ / \ / \ 3 7 3 7
उदाहरण
एक पूर्ण उदाहरण के रूप में, 24 का दिव्य वृक्ष इस तरह दिखेगा:
24
/ \
/ \
4 6
/ \ / \
2 2 2 3
4 और 6 24 के वर्गमूल के निकटतम विभाजकों की जोड़ी है। 4 बाईं ओर है, क्योंकि यह छोटा है। अगली पंक्ति में, 2 नंबर 3 के बाईं ओर, क्योंकि यह छोटा है।
63 के लिए भाजक के पेड़ की तरह दिखना चाहिए:
63 and NOT like this 63
/ \ / \
7 9 3 21
/ \ / \
3 3 7 3
गलत पेड़ में, 3 और 21 63 के वर्गमूल के निकटतम विभाजकों की जोड़ी नहीं हैं, और 3 और 7 को ठीक से सॉर्ट नहीं किया जाता है। 21 पर शाखा की नियुक्ति सही है, हालांकि।
42 के लिए, आपके पास होना चाहिए:
42 and NOT 42
/ \ / \
6 7 21 2
/ \ / \
2 3 3 7
चलो 720 पर एक नजर डालते हैं। ध्यान दें कि हमें शाखाओं के पांच स्तरों की आवश्यकता है 720
ताकि 24
और 30
उपप्रकार सही ढंग से दूरी पर हो। इसके अलावा, ध्यान दें कि 24
और 30
शाखाओं के दो स्तर हैं क्योंकि 4
और 6
बच्चों के नोड्स हैं जिन्हें सही रिक्ति की आवश्यकता है और बच्चों के नोड्स 30
उसी स्तर पर होने की आवश्यकता है जैसे कि बच्चे के नोड्स 24
।
720
/ \
/ \
/ \
/ \
/ \
24 30
/ \ / \
/ \ / \
4 6 5 6
/ \ / \ / \
2 2 2 3 2 3
चुनौती
- आपका कार्य इनपुट के लिए एक सही ढंग से तैयार सौंदर्यशास्त्र मनभावन भाजक के पेड़ का निर्माण करना है
n
, जहांn
एक सकारात्मक पूर्णांक 1 से अधिक है। - आपके आउटपुट में अग्रणी और अनुगामी स्थान हो सकते हैं और नए लिंक को अग्रणी और अनुगामी बना सकते हैं, लेकिन अन्यथा ऊपर दिए गए रिक्ति नियमों के अनुरूप होना चाहिए।
- आपके आउटपुट को होने की अनुमति है: पाठ कला, एक छवि (यदि आवश्यक हो तो जोड़े जाने वाले अन्य प्रारूप)।
- छवियों के लिए, सुनिश्चित करें कि आपके पेड़ के नोड्स अच्छी तरह से उभरे हुए हैं, और पेड़ में समान ऊंचाई पर नोड्स छवि में समान ऊंचाई पर हैं।
- यह कोड गोल्फ है। बाइट्स (या समतुल्य) जीत की कम से कम संख्या।
इस विचार के बारे में सोचने के लिए स्टिवी ग्रिफिन को श्रेय, और विनिर्देशन को फिर से लिखने में उनकी मदद के लिए पीटर टेलर, मार्टिन एंडर, मेगो और ईशू Iᴀ को बहुत धन्यवाद। हमेशा की तरह, किसी भी सुझाव या सुधार की बहुत सराहना की जाती है। गुड लक और गुड गोल्फिंग!
अधिक परीक्षण के मामले:
2
4
/ \
2 2
20
/ \
4 5
/ \
2 2
323
/ \
17 19
362880
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
576 630
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
24 24 21 30
/ \ / \ / \ / \
/ \ / \ / \ / \
4 6 4 6 3 7 5 6
/ \ / \ / \ / \ / \
2 2 2 3 2 2 2 3 2 3
1286250
/ \
/ \
/ \
/ \
/ \
1050 1225
/ \ / \
/ \ / \
/ \ / \
30 35 35 35
/ \ / \ / \ / \
5 6 5 7 5 7 5 7
/ \
2 3