परिचय
हाल ही के वीडियो द ट्रैप्ड नाइट - नंबरफाइल से प्रेरित होकर , मैं एक चुनौती लेकर आया हूं।
फंस नाइट अनुक्रम लंबाई 2016 1 से शुरू की एक निश्चित पूर्णांक अनुक्रम है, और निम्नलिखित निर्माण नियम हैं:
- निम्नलिखित तरीके से एक संख्या सर्पिल लिखें:
17 16 15 14 13 ...
18 5 4 3 12 ...
19 6 1 2 11 ...
20 7 8 9 10 ...
21 22 23 24 25 ...
- 1 पर एक नाइट रखें।
- शूरवीरों को ग्रिड में ले जाएं सबसे छोटी संख्या के साथ यह जा सकता है जो पहले नहीं देखा गया है, शतरंज के नियमों के अनुसार (यानी 2 इकाइयां लंबवत और 1 इकाई क्षैतिज रूप से, या इसके विपरीत)।
- तब तक दोहराएं जब तक कि नाइट फंस न जाए।
यहाँ पहले तीन चरण हैं:
चरण 1
17 [16] 15 [14] 13
[18] 5 4 3 [12]
19 6 < 1> 2 11
[20] 7 8 9 [10]
21 [22] 23 [24] 25
संभावित चाल 10, 12, 14, 16, 18, 20, 22, 24 हैं, जिनमें से सबसे छोटी 10 है, इसलिए दूसरा शब्द 10 है।
चरण 2
4 [ 3] 12 [29] 54
( 1) 2 11 28 [53]
8 9 <10> 27 52
[23] 24 25 26 [51]
46 [47] 48 [49] 50
संभावित चाल 1 , 3, 23, 29, 47, 49, 51, 53 हैं, जिनमें से सबसे छोटी 3 है, इसलिए तीसरा पद 3 है।
चरण 3
35 [34] 33 [32] 31
[16] 15 14 13 [30]
5 4 < 3> 12 29
[ 6] ( 1) 2 11 [28]
7 [ 8] 9 (10) 27
संभावित चाल 6, 8, 10 , 16, 28, 30, 32, 34 हैं, जिनमें से सबसे छोटी 6 है, इसलिए चौथा शब्द 6 है।
अनुक्रम सितारों के साथ:
1 10 3 6 9 4 7 2 5 8 11 14 ...
और के साथ समाप्त होता है
... 2099 2284 2477 2096 2281 2474 2675 2884 3101 2880 2467 2084
चुनौती
इनपुट के रूप में सीमा में एक पूर्णांक [1, 2016](या [0, 2015]यदि 0-अनुक्रमित का उपयोग किया जाता है) प्राप्त करने के लिए एक छोटा कार्यक्रम या फ़ंक्शन लिखें, फंसे हुए नाइट अनुक्रम में उस सूचकांक पर संख्या को आउटपुट करें। आप 0-अनुक्रमित या 1-अनुक्रमित के साथ अनुक्रम अनुक्रमित करने के लिए चुन सकते हैं, लेकिन आपको यह निर्दिष्ट करना होगा कि आप किस इंडेक्सिंग योजना का उपयोग करते हैं।
परीक्षण के मामले (1-अनुक्रमित)
n | s(n)
-----+-----
1 | 1
2 | 10
3 | 3
6 | 4
11 | 11
21 | 23
51 | 95
101 | 65
201 | 235
501 | 761
1001 | 1069
2001 | 1925
2016 | 2084
सभी संभावित आउटपुट के लिए, कृपया इस पृष्ठ को देखें ।
जीत का मानदंड
प्रत्येक भाषा का सबसे छोटा कोड जीतता है। मानक खामियों पर प्रतिबंध लागू होते हैं।
12851850258