पृष्ठभूमि
कीचड़ के सांचे कमाल के हैं। यदि आप उन्हें खाद्य स्रोतों के साथ एक सतह पर रखते हैं, तो वे भोजन खोजने के लिए अपनी निविदाएं फैलाएंगे, जिसके बाद वे स्रोतों के बीच कनेक्शन का एक नेटवर्क बनाते हैं। इस चुनौती में, आप भोजन की तलाश में एक कीचड़ मोल्ड का अनुकरण करेंगे। इसके अलावा, यह विशेष सांचा एक बार बंद हो जाएगा जब यह पर्याप्त मिल जाएगा।
इनपुट
आपके इनपुट L
आपकी भाषा के मूल प्रारूप में 2D पूर्णांक निर्देशांक और एक nonnegative पूर्णांक की एक सूची होगी N
। सूची L
डुप्लिकेट-मुक्त होने की गारंटी है, लेकिन इसे क्रमबद्ध नहीं किया जा सकता है। इनपुट N
0 और लंबाई के बीच L
, समावेशी है।
सूची L
खाद्य स्रोतों के लिए निर्देशांक के एक समूह का प्रतिनिधित्व करती है। उदाहरण के लिए, सूची
[(0,0),(2,-1),(3,1),(0,4),(5,5)]
के रूप में नेत्रहीन व्याख्या की जा सकती है
o
o
o
o
o
उत्पादन
आपका आउटपुट K
2D डुप्लिकेट की एक और डुप्लिकेट-मुक्त सूची है जो इनपुट के समान प्रारूप पर समन्वयित करता है। यह कीचड़ मोल्ड द्वारा गठित नेटवर्क का प्रतिनिधित्व करता है, और यह निम्नलिखित शर्तों को पूरा करेगा:
- के चौराहे
L
औरK
आकार बिल्कुल हैN
। - सेट
K
पूर्णांक ग्रिड (ऑर्थोगोनल या विकर्ण आसन्न के माध्यम से) के सबसेट के रूप में जुड़ा हुआ है। - यदि किसी भी समन्वय
K
को हटा दिया जाता है, तो यह पहले दो स्थितियों को संतुष्ट नहीं करता है।
ध्यान दें कि यदि N = 0
, आउटपुट एक खाली सूची होनी चाहिए।
उपरोक्त सूची के लिए स्वीकार्य आउटपुट का एक उदाहरण L
और N = 4
होगा
[(0,0),(0,1),(0,2),(0,3),(0,4),(1,4),(2,4),(3,3),(3,2),(3,1),(3,5),(4,5),(5,5)]
जिसकी कल्पना की जा सकती है
xxO
Oxx
x x
x x
x O
O
o
जहां प्रत्येक O
दोनों में प्रतिनिधित्व एक समन्वय L
और K
, और प्रत्येक x
एक समन्वय में प्रतिनिधित्व K
नहीं बल्कि में L
। अन्य आउटपुट भी स्वीकार्य हैं, और "निविदा" को कम से कम संभव नहीं होना चाहिए। उदाहरण के लिए, यह भी एक स्वीकार्य समाधान है:
xxOxx
Oxx x
x x
x x
x o x
O x
Ox
नियम
इनपुट और आउटपुट दोनों ही सूचियाँ होंगी, सेट या अन्य डेटाटिप्स नहीं। निर्देशांक स्वयं सूचियों या ट्यूपल्स हो सकते हैं। जरूरत पड़ने पर आप दोनों इनपुट के क्रम को बदल सकते हैं।
आप एक पूर्ण कार्यक्रम या एक फ़ंक्शन लिख सकते हैं। सबसे कम बाइट गिनती जीतता है, और मानक खामियों को रोक दिया जाता है।
परीक्षण के मामलों
आपके प्रोग्राम को सभी लागू मूल्यों के लिए इन सूचियों पर काम करना चाहिए N
।
[]
[(2,3)]
[(0,0),(1,0),(0,1),(1,1)]
[(0,0),(2,-1),(3,1),(0,4),(5,5)]
[(0,0),(1,0),(2,0),(3,0),(0,3),(1,3),(2,3),(3,3)]
[(0,0),(1,0),(2,0),(3,0),(0,3),(1,3),(2,3),(3,3),(0,1),(0,2),(3,1),(3,2),(8,1),(8,2),(-5,1),(-5,2)]
[(0,0),(20,0),(15,15),(-10,4),(-10,3),(0,-5),(7,6),(7,7),(8,8),(9,8),(10,-2),(-1,12),(-3,10)]
[(0,0),(1,0),(2,0),(3,0),(5,0),(6,0),(7,0),(0,9),(1,9),(2,9),(3,8),(4,9),(5,10),(6,10),(7,9),(3,3),(4,4),(5,5)]
कल्पना:
===
o
===
oo
oo
===
o
o
o
o
o
===
oooo
oooo
===
oooo
o o o o
o o o o
oooo
===
o
o
o
oo
o
o
o
o
o o
o
o
===
oo
ooo o o
o
o
o
o
oooo ooo