चुनौती
आपको किसी उचित विधि द्वारा इनपुट के रूप में एक विमान पर वर्णों का ASCII- कला प्रतिनिधित्व दिया जाता है। इसमें केवल शामिल होगा:
[a-z]चल पात्रों का प्रतिनिधित्व करते हैं। प्रत्येक पत्र बोर्ड पर सबसे अधिक बार दिखाई देगा।#अचल दीवारों का प्रतिनिधित्व करना.खाली जगह का प्रतिनिधित्व करते हुए
उदाहरण के लिए:
abcdef.gh#..
.......ij.#.
#..#.......#
...#.#...###
.#.......#q#
.........###
आपको गुरुत्वाकर्षण में परिवर्तन का प्रतिनिधित्व करने वाला एक तार भी दिया जाता है। इसमें केवल शामिल होगा:
>सही गुरुत्व में परिवर्तन का प्रतिनिधित्व करना<बाईं ओर के गुरुत्वाकर्षण में बदलाव का प्रतिनिधित्व करना^ऊपर की ओर गुरुत्वाकर्षण के परिवर्तन का प्रतिनिधित्व करनाvनीचे की ओर गुरुत्वाकर्षण के परिवर्तन का प्रतिनिधित्व करना
उदाहरण के लिए:
v>^
आपके कार्यक्रम को गुरुत्वाकर्षण में प्रत्येक परिवर्तन को क्रमिक रूप से तब तक अनुकरण करना चाहिए जब तक कि सभी पात्र हिलना बंद न करें (वे एक दीवार, या किसी अन्य वर्ण से टकराते हैं)। वर्ण जो "मानचित्र के किनारे से गिरते हैं" स्थायी रूप से हटा दिए जाते हैं, और वर्ण एक दूसरे के ऊपर "स्टैक" कर सकते हैं।
इस उदाहरण में, शुरू में वहाँ नीचे गुरुत्वाकर्षण है ( v), इसलिए c, e, g, h, i, और jबंद नक्शे के नीचे गिर जाते हैं। अन्य सभी वर्ण दीवार से टकराने तक नीचे की ओर स्लाइड करते हैं, इस तरह से नक्शा छोड़ते हैं:
.........#..
a..d......#.
#..#.f.....#
.b.#.#...###
.#.......#q#
.........###
फिर, हम सही गुरुत्व ( >) की ओर बढ़ते हैं , जो हमें इस पर छोड़ देता है: ध्यान दें कि aआगे के ढेर कैसे हैं d।
.........#..
........ad#.
#..#......f#
..b#.#...###
.#.......#q#
.........###
अंत में, हम ऊपर की ओर गुरुत्वाकर्षण ( ^) का अनुकरण करते हैं , जिसके दौरान aऔर bनक्शा बंद हो जाता है।
.........#..
.........d#.
#..#......f#
...#.#...###
.#.......#q#
.........###
आपका कार्य गुरुत्वाकर्षण पारियों के बाद शेष वर्णों का उत्पादन करना है। उन्हें किसी भी क्रम में दिया जा सकता है। इस उदाहरण के लिए, आप किसी भी क्रमपरिवर्तन का उत्पादन कर सकते हैं dfq।
परीक्षण के मामलों
निम्नलिखित मानचित्र के लिए:
abcde
.....
##.##
v = abde
v> = <nothing>
निम्नलिखित मानचित्र के लिए:
######
#....#
abcdef
#.gh..
######
> = <nothing>
< = gh
^> = bcde
v< = bghef