पीपीसीजी समुदाय के लिए धन्यवाद, सांता ने अब अपनी भंडारण गाड़ियां संतुलित कर दी हैं। अब, उन्हें परिवहन डॉक में ले जाने की आवश्यकता है ताकि उन्हें लोडिंग बे में भेजा जा सके। दुर्भाग्य से, गाड़ियों को इधर-उधर ले जाने वाली पटरियाँ एक गड़बड़ हैं, और उन्हें यह पता लगाने की ज़रूरत है कि बिना एक साथ दुर्घटनाग्रस्त हुए उन सभी को कैसे प्राप्त किया जाए!
चुनौती
आपको "लेबल" (या स्टेशन) की सूची के रूप में प्रत्येक गाड़ी के लिए ट्रैक दिए जाएंगे। गाड़ियां ऐसी स्थानांतरित की जानी चाहिए कि किसी भी समय सीमा पर, कोई भी दो गाड़ियां एक ही लेबल / स्टेशन पर न हों। अनिवार्य रूप से, गाड़ियां उन स्थितियों के बीच चलती हैं जिनमें से प्रत्येक में एक अद्वितीय लेबल होता है।
कार्य
लेबल की सूचियों (जो सभी सकारात्मक पूर्णांक हैं) की सूची के रूप में प्रत्येक गाड़ी के लिए पटरियों को देखते हुए, निर्धारित करें कि प्रत्येक कार्ट को कम से कम समय में सुरक्षित रूप से सभी गाड़ियों को उनके गंतव्य तक भेजने के लिए जारी किया जाए।
यहां संपूर्ण ट्रैक सिस्टम कैसे काम करता है, इसका विवरण दिया गया है। मान लें कि लेबल के साथ ट्रैक पर कार्ट iसमय t_iपर रिलीज़ होती है T_i_1, T_i_2, ..., T_i_n। फिर, के दौरान t_1करने के लिए t_i-1, गाड़ी iनहीं ग्रिड पर है और ध्यान नहीं दिया जा सकता है।
समय सीमा पर t_i, गाड़ी लेबल पर है T_i_1, और प्रत्येक समय सीमा के लिए t_kसे t_iकरने के लिए t_i+n(आधे सम्मिलित), गाड़ी लेबल पर है T_i_k+1।
सभी समय और बाद के फ्रेम के लिए t_i+n, कार्ट अपने गंतव्य पर है और अब ग्रिड पर नहीं है।
समय की कुल राशि t_Tप्रणाली में एक ट्रैक पर एक गाड़ी के साथ अंतिम समय सीमा है।
विशेष विवरण
एक ट्रैक सिस्टम को देखते हुए, टाइम फ्रेम की एक सूची लौटाएं [t_1, t_2, ..., t_n]जहां iवें कार्ट समय पर शुरू होता है t_i, जैसे कि कोई अन्य व्यवस्था कार्ट को कम समय की कुल राशि के साथ सुरक्षित रूप से अपने गंतव्य तक जाने की अनुमति नहीं देती है।
के "सुरक्षित रूप से" संदर्भ में, से किसी भी समय सीमा में यदि t_1करने के लिए t_Tक्या कोई लेबल पर एक से अधिक गाड़ी है, तो वे टकराने और व्यवस्था "सुरक्षित" नहीं था। ध्यान दें कि दो कार्ट से स्थानांतरित कर सकते हैं a, bकरने के लिए b, aऔर अभी भी "सुरक्षित" हो क्योंकि पटरियों 2 तरह कर रहे हैं।
स्वरूपण विनिर्देशों
इनपुट किसी भी उचित प्रारूप में धनात्मक पूर्णांक के एक मैट्रिक्स के रूप में दिया जाएगा। आउटपुट को किसी भी उचित प्रारूप में सकारात्मक पूर्णांक की सूची के रूप में दिया जाना चाहिए। आप शून्य-अनुक्रमित समय फ़्रेम में आउटपुट दे सकते हैं, इसलिए तब आउटपुट किसी भी उचित प्रारूप में गैर-नकारात्मक पूर्णांक की एक सूची होगी।
नियम
- स्टैंडर्ड लोफॉल्स लागू होते हैं
- यह एक कोड-गोल्फ है इसलिए बाइट्स जीत में सबसे छोटा जवाब है
- कोई उत्तर स्वीकार नहीं किया जाएगा
परीक्षण के मामलों
Input -> Output
[[1, 2, 3], [4, 5, 6], [7, 8, 9]] -> [1, 1, 1]
[[1, 2, 3], [1, 2, 3]] -> [1, 2]
[[1, 2, 3], [3, 2, 1]] -> [1, 2]
[[1, 2, 3, 4], [4, 3, 2, 1]] -> [1, 1]
[[1, 1, 1], [1, 1, 1]] -> [1, 4]
[[1, 2, 3, 4], [2, 4, 3, 1]] -> [2, 1]
[[1, 2, 3, 4, 5, 6, 7], [2, 3, 3, 4], [5, 4, 3]] -> [1, 3, 4]
[[1, 2, 3, 4, 4], [1, 2, 3, 5, 4], [1, 2, 3, 4, 5]] -> [2, 3, 1]
नोट: मैंने इस चुनौती श्रंखला के लिए Advent of Code से प्रेरणा ली । मेरा इस साइट से कोई जुड़ाव नहीं है
आप यहां पहली चुनौती के 'लिंक्ड' सेक्शन को देखकर श्रृंखला की सभी चुनौतियों की सूची देख सकते हैं ।
हैप्पी गोल्फिंग!