हैरानी की बात है, हम अभी तक ग्राफ रंग पर कोई चुनौती नहीं है!
एक अप्रत्यक्ष ग्राफ को देखते हुए, हम प्रत्येक शीर्ष को एक रंग दे सकते हैं जैसे कि कोई दो आसन्न कोने समान रंग साझा नहीं करते हैं। सबसे छोटी संख्या χ अलग इस लक्ष्य को हासिल करने के लिए आवश्यक रंग की कहा जाता है रंगीन संख्या ग्राफ की।
उदाहरण के लिए, निम्नलिखित रंगों की न्यूनतम संख्या का उपयोग करके एक वैध रंग दिखाता है:
(विकिपीडिया पर पाया गया)
तो इस ग्राफ का क्रोमैटिक नंबर 3 = 3 है ।
एक प्रोग्राम या फ़ंक्शन लिखें, जो कई संख्याओं को दिया गया है एन <16 (जो कि 1 से एन तक गिने जाते हैं ) और किनारों की एक सूची, एक ग्राफ के रंगीन संख्या को निर्धारित करती है।
आप इनपुट प्राप्त कर सकते हैं और किसी भी सुविधाजनक प्रारूप में आउटपुट का उत्पादन कर सकते हैं, जब तक कि इनपुट पूर्व-संसाधित न हो। यही है, आप एक स्ट्रिंग या एक सरणी का उपयोग कर सकते हैं, स्ट्रिंग में सुविधाजनक सीमांकक जोड़ सकते हैं या एक नेस्टेड सरणी का उपयोग कर सकते हैं, लेकिन आप जो कुछ भी करते हैं, समतल संरचना में नीचे दिए गए उदाहरणों के समान संख्याएं होनी चाहिए (समान क्रम में)।
आप अंतर्निहित ग्राफ़-सिद्धांत से संबंधित कार्यों (जैसे कि गणितज्ञ ChromaticNumber
) का उपयोग नहीं कर सकते हैं ।
आप मान सकते हैं कि ग्राफ में कोई लूप नहीं है (एक किनारे को खुद से जोड़ने वाली एक धार) जो कि ग्राफ को अनियंत्रित कर देगा।
यह कोड गोल्फ है, सबसे छोटा उत्तर (बाइट्स में) जीतता है।
उदाहरण
आपके कार्यक्रम को कम से कम समय में इन सभी को हल करना होगा। (इसे सभी इनपुट्स को सही तरीके से हल करना होगा, लेकिन बड़े इनपुट्स में अधिक समय लग सकता है।)
पोस्ट को छोटा करने के लिए, निम्नलिखित उदाहरणों में, मैं किनारों को एक एकल अल्पविराम से अलग सूची में प्रस्तुत करता हूं। यदि आप चाहें तो आप लाइन ब्रेक का उपयोग कर सकते हैं या कुछ सुविधाजनक सरणी प्रारूप में इनपुट की अपेक्षा कर सकते हैं।
त्रिभुज (angle = 3)
3
1 2, 2 3, 1 3
६ रिंगों का "वलय" (2 = 2)
6
1 2, 2 3, 3 4, 4 5, 5 6, 6 1
5 कोने की "रिंग" (3 = 3)
5
1 2, 2 3, 3 4, 4 5, 5 1
ऊपर का उदाहरण चित्र (3 = 3)
6
1 2, 2 3, 3 4, 4 5, 5 6, 6 1, 1 3, 2 4, 3 5, 4 6, 5 1, 6 2
7 कोने के लिए उपरोक्त का सामान्यीकरण (of = 4)
7
1 2, 2 3, 3 4, 4 5, 5 6, 6 7, 7 1, 1 3, 2 4, 3 5, 4 6, 5 7, 6 1, 7 2
पीटरसन ग्राफ (3 = 3)
10
1 2, 2 3, 3 4, 4 5, 5 1, 1 6, 2 7, 3 8, 4 9, 5 10, 6 8, 7 9, 8 10, 9 6, 10 7
5 कोने का पूरा ग्राफ, प्लस डिस्कनेक्ट किया गया शीर्ष () = 5)
6
1 2, 1 3, 1 4, 1 5, 2 3, 2 4, 2 5, 3 4, 3 5, 4 5
8 कोने का पूरा ग्राफ (8 = 8)
8
1 2, 1 3, 1 4, 1 5, 1 6, 1 7, 1 8, 2 3, 2 4, 2 5, 2 6, 2 7, 2 8, 3 4, 3 5, 3 6, 3 7, 3 8, 4 5, 4 6, 4 7, 4 8, 5 6, 5 7, 5 8, 6 7, 6 8, 7 8
15 कोने () = 3) के साथ त्रिकोणीय जाली
15
1 2, 1 3, 2 3, 2 4, 2 5, 3 5, 3 6, 4 5, 5 6, 4 7, 4 8, 5 8, 5 9, 6 9, 6 10, 7 8, 8 9, 9 10, 7 11, 7 12, 8 12, 8 13, 9 13, 9 14, 10 14, 10 15, 11 12, 12 13, 13 14, 14 15