आपके कार्य को, इनपुट के रूप में एक मानचित्र दिया गया है, इसे स्केल के आधार पर ज़ूम इन या आउट करें। ध्यान दें कि दिया गया पैमाना वह पैमाना है जिसके द्वारा ज़ूम आउट किया जा सकता है , इसलिए 0 और 1 के बीच का पैमाना वास्तव में ज़ूम इन होगा।
उदाहरण के लिए, निम्नलिखित (बुरी तरह से बनाया गया) नक्शा दिया गया है:
..____....
../OOO\...
..\OO/\...
..........
और 2 का एक स्केल फैक्टर, आपको पहले इसे 2x2 सेक्शन में अलग करना चाहिए:
.. | __ | __ | .. | ..
.. | /O | OO | \. | ..
----------------------
.. | \O | O/ | \. | ..
.. | .. | .. | .. | ..
और प्रत्येक अनुभाग में सबसे आम चरित्र पाते हैं:
.__..
.....
ध्यान दें कि एक अस्पष्ट खंड था:
__
OO
मैंने _इस अनुभाग के लिए उपयोग करना चुना , लेकिन उपयोग Oकरना पूरी तरह से स्वीकार्य भी होगा।
यदि, उदाहरण के लिए, आपको 4 का पैमाना कारक दिया गया था, तो आप इसे 4x4 वर्गों में विभाजित करेंगे, जैसे:
..__ | __.. | ..
../O | OO\. | ..
..\O | O/\. | ..
.... | .... | ..
जैसा कि आप बता सकते हैं, नक्शा 4x4 वर्गों में पूरी तरह से फिट नहीं है, लेकिन यह ठीक है, क्योंकि हम साइड में अनुभाग के आकार को कम कर सकते हैं।
इसके अलावा, जब भी हमें अपने नक्शे काटने की आवश्यकता होती है, हम नीचे या दाईं ओर काट देते हैं।
परिणामी नक्शा ऐसा दिखेगा:
...
क्या दिलचस्प नक्शा है!
1 से नीचे के स्केल कारकों के लिए, जैसे कि 0.5, प्रक्रिया सरल है क्योंकि हम इसके बजाय ज़ूम करते हैं। यह नक्शा लें:
./O\.
.\O/.
0.5 के पैमाने के साथ ज़ूमिंग:
..//OO\\..
..//OO\\..
..\\OO//..
..\\OO//..
ध्यान दें कि जब भी आपका जूम फैक्टर इससे कम होगा 1, तो निम्नलिखित हमेशा सच होगा 1/(zoom factor) % 2 == 0:। जब यह ऊपर होता है 1, तो आपके पास एकमात्र गारंटी यह है कि यह पूरी संख्या होगी। जब यह हो 1, तो मानचित्र समान रहना चाहिए।
उदाहरण:
4
/OO\
|OO|
|OO|
\OO/
O
0.25
ABCD
AAAABBBBCCCCDDDD
AAAABBBBCCCCDDDD
AAAABBBBCCCCDDDD
AAAABBBBCCCCDDDD
1
My zoom
should
not change
My zoom
should
not change
आप नक्शे को एक नई पंक्ति-अलग सरणी के रूप में भी ले सकते हैं।
.की तुलना में O। हम दाईं ओर और नीचे की तरफ कट गए।