इस चुनौती में, आप गणना करेंगे कि आपकी भूमि कितनी महान है।
एक कार्यक्रम या फ़ंक्शन लिखें जो आपकी जमीन के आकार की गणना करता है, जिसे आपके द्वारा बनाई गई दीवार दी गई है। आपको एक गैर-रिक्त इनपुट स्ट्रिंग दी जाती है जिसमें आपकी पसंद के 4 अलग-अलग वर्ण होते हैं जो चार दिशाओं "अप", "डाउन", "लेफ्ट" और "राइट" का प्रतिनिधित्व करते हैं (मैं ^ v < >
इस चुनौती में उपयोग करूंगा )। 180 डिग्री मोड़ ( <>
या ^v
) लेना संभव नहीं है , लेकिन आप अपनी दीवार को पार कर सकते हैं।
जिस तरह से आप "कब्जा" करते हैं, वह आपकी दीवार से घिरा है। दीवार को भी अपनी जमीन का हिस्सा माना जाता है। कुछ उदाहरण इसे और स्पष्ट करेंगे। मैं o
उस भूमि का उपयोग करूँगा जो दीवार से घिरा हुआ है, दीवार के x
लिए और दीवार S
के शुरुआती बिंदु के लिए, बस यह वर्णन करने के लिए कि दीवार कैसे बनाई गई है। उत्पादन अपने देश का कुल आकार होना चाहिए (की संख्या o
, x
और S
नीचे परीक्षण मामलों में)।
Input: >>>>
Land: Sxxxx
Output: 5
Input: <<<^^^>>>vv
Land:
xxxx
xoox
xoox
xxxS
Output: 16
Input: <<<^^^>>>v
Land:
xxxx
x x
x
xxxS
Output: 11
Input: <
Land: xS
Output: 2
Input: >>>>>>vvvvvvvvv<<<<<^^^^>>>>>>>>vvvvvvvvvv<<<<<<<<<<<<<<<^^^^^^^^^>>>vvvvvv<<<<<
Land:
Sxxxxxx
x
x
x
x
xxxxxxxxx
xxxx xoooox x
xoox xoooox x
xoox xoooox x
xoox xxxxxx x
xoox x
xoox x
xxxxxx x
x x
x x
xxxxxxxxxxxxxxxx
Output: 101
Input: >>vvvv>>^^<<<<^
Land:
Sxx
xox
xxxxx
xox
xxx
Output: 17
Input: <<^^^>>>vv
Land:
xxxx
x x
x x
xxS
Output: 11 <- Note, diagonal edges do not close the "loop"
स्पष्टीकरण:
- आपको दीवार खींचने की आवश्यकता नहीं है, आउटपुट केवल एक पूर्णांक होना चाहिए
- इनपुट प्रारूप वैकल्पिक है। आप एक स्ट्रिंग
<>^v
, अंकों की(1, -1, i, -i)
सूची, वर्णों की सूचीABCD
आदि के साथ ले जा सकते हैं ।
यह कोड-गोल्फ है इसलिए प्रत्येक भाषा में सबसे छोटा कोड जीतता है। याद रखें, स्पष्टीकरण "नियमित" भाषाओं में भी महत्वपूर्ण हैं!