शहर के चारों ओर घूमने वाले और एक बहुत ही विशिष्ट पैटर्न के अनुसार अपने शिकार चुनने की कल्पना करें (या, वैकल्पिक रूप से, बगीचे के चारों ओर एक मधुमक्खी की कल्पना करें और बहुत विशिष्ट पैटर्न के अनुसार परागण करने के लिए उसके फूलों को उठाएं )। मान लीजिए कि शहर एक एन × एन मैट्रिक्स है, जहां एन एक पूर्णांक 2 या उससे अधिक है । आगजनी ऊपरी बाएं कोने से शुरू होती है और क्रमिक रूप से घर एम स्पॉट को उनके सामने सेट करती है (जहां एम वर्तमान में वे घर की संख्या है), प्रत्येक आग के बाद दिशा बदल रही है, क्रम में पूर्व ⟶ दक्षिण ⟶ पश्चिम ⟶ उत्तर ⟶ पूर्व and दक्षिण ... और इसी तरह। लोरीआगजनी करने वाले का मान M होता है जो उन्हें शहर से बाहर कर देता है (यानी अंतिम घर जो वे घृणा को रोकने से पहले जाते हैं)। यह एक उदाहरण के साथ समझने में आसान है। उदाहरण के लिए निम्नलिखित मैट्रिक्स लें:
3 2 3 2 7 3 1 4 1 6 २ ५ ३ १ १ 4 4 3 2 4 १ १ १ १ १ १
- हम ऊपरी-बाएँ कोने में शुरू करते हैं, इसलिए M = 3 (
X
आगजनी के वर्तमान और पिछले पदों को चिह्नित करता है):एक्स 2 3 2 7 3 1 4 1 6 २ ५ ३ १ १ 4 4 3 2 4 १ १ १ १ १ १
- ज्ञात आदेश के अनुसार, यह पहली बार पूर्व एम (3) स्थानों और 2 पर भूमि जाता है इसलिए एम तदनुसार बदलता है:
एक्स 2 3 एक्स 7 3 1 4 1 6 २ ५ ३ १ १ 4 4 3 2 4 १ १ १ १ १ १
- फिर यह दक्षिण 2 स्थानों पर जाता है और एम अब 1 :
एक्स 2 3 एक्स 7 3 1 4 1 6 २ ५ ३ १ १ 4 4 3 2 4 १ १ १ १ १ १
- अब यह पश्चिम में 1 स्थान पर पहुँच गया और M 3 हो गया :
एक्स 2 3 एक्स 7 3 1 4 1 6 २ ५ XX १ 4 4 3 2 4 १ १ १ १ १ १
- उत्तर में 3 स्थानों की ओर बढ़ने के बाद , यह शहर से बाहर निकलता है! इसलिए, 3 इस आगजनी की लोरी है:
एक्स एक्स 2 3 एक्स 7 3 1 4 1 6 २ ५ XX १ 4 4 3 2 4 १ १ १ १ १ १
N × N मैट्रिक्स को देखते हुए (आप वैकल्पिक रूप से N को इनपुट के रूप में भी ले सकते हैं), आगजनी करने वाले की लोरी का पता लगाएं। मैंने एक कार्यक्रम लिखा है जिसके साथ आप अधिक परीक्षण मामलों को उत्पन्न कर सकते हैं और आगजनी के मार्ग की कल्पना कर सकते हैं: इसे ऑनलाइन आज़माएं!
- आप मान सकते हैं कि arsonist करता लोरी है (यह है कि, यह वास्तव में मैट्रिक्स से बाहर निकल सकते)।
- मैट्रिक्स में केवल सादगी के लिए 9 (अंक) से कम या बराबर सकारात्मक पूर्णांक होंगे । किसी भी सकारात्मक पूर्णांक को संभालने वाले समाधान पूरी तरह से स्वागत योग्य हैं।
- ध्यान दें कि arsonist कर सकते हैं समझ में वे में आगे बढ़ रहे मामले में एक जगह वे पहले से ही जला दिया है पर लैंड, पहली बार से अलग है। ऐसे परिदृश्य में, बस उस तत्व का मान लें और हमेशा की तरह फिर से आगे बढ़ें।
- आप किसी भी प्रोग्रामिंग भाषा में प्रतिस्पर्धा कर सकते हैं और इनपुट ले सकते हैं और किसी भी मानक विधि के माध्यम से आउटपुट प्रदान कर सकते हैं , जबकि ध्यान दें कि इन खामियों को डिफ़ॉल्ट रूप से मना किया गया है। यह कोड-गोल्फ है , इसलिए हर भाषा के लिए सबसे कम सबमिशन (बाइट्स में) जीतता है।
परीक्षण के मामलों
------------- ९ २ ३ १ 1 २ 8 ६ लोरी: ९ ------------- २ १ २ १ १ 3 1 1 2 १ २ २ १ 1 1 1 3 लोरी: २ ------------- 3 2 3 2 7 3 1 4 1 6 २ ५ ३ १ १ 4 4 3 2 4 १ १ १ १ १ १ लोरी: ३ ------------- १ २ १ २ २ १ २ १ २ १ २ २ १ २ १ २ १ २ २ १ २ १ २ १ २ २ १ २ १ २ १ २ २ १ २ १ २ १ २ २ १ २ लोरी: २ ------------- ३ २ १ २ २ १ १ १ २ ३ २ ३ २ २ १ १ 2 1 1 1 3 1 2 ३ १ १ १ १ १ १ १ १ 4 5 2 3 1 1 1 1 2 1 2 1 2 2 1 2 2 3 2 1 2 लोरी: ३ -------------
एक अलग प्रारूप में मेट्रिसेस:
[[९, २, ३], [१,,, २], [,,,, ६]] [[२, १, २, १], [३, १, १, २], [१, २, २, १], [१, १, १, ३]] [[3, 2, 3, 2, 7], [3, 1, 4, 1, 6], [2, 5, 3, 1, 1], [4, 4, 3, 2, 4], [ 1, 1, 1, 1, 1]] [[१, २, १, २, १, २], [१, २, १, २, १, २], [१, २, १, २, १, २], [१, २, १, १] 2, 1, 2], [1, 2, 1, 2, 1, 2], [1, 2, 1, 2, 1, 2]] [[3, 2, 1, 2, 1, 1, 1], [2, 3, 2, 3, 2, 1, 1], [2, 1, 1, 1, 3, 1, 2], [ 3, 1, 1, 1, 1, 1, 1], [4, 5, 2, 3, 1, 1, 1], [1, 2, 1, 2, 1, 2, 2], [1, 2, 2, 3, 2, 1, 2]]
पांचवें परीक्षण के मामले में कल्पना करना बहुत दिलचस्प है ।