আমি> <>,> <> জীবন জীবন! 2 ডি ল্যাঙ্গেজ আশ্চর্যজনক! এই চ্যালেঞ্জের মধ্যে, আপনাকে বলতে হবে কোড-গল্ফ করার সময় কোনও "ফিশি" রাস্তার কোনও শেষ আছে কিনা।
সংজ্ঞা
নীচের রাস্তাগুলি সহ টাইলস সহ একটি ফিশিয় রোড নির্মিত হয়েছে:
v (go down)
> (go right)
^ (go up)
< (go left)
/ (mirror)
\ (mirror)
অন্য যে কোনও চরিত্রকে (বাদে -|+
) রাস্তার সীমানায় কিছু ফুল (বা মাছের মাথা) এর মতো একটি ব্যাঘাত হিসাবে বিবেচনা করা যেতে পারে।
একটি রাস্তা সর্বদা একটি আয়তক্ষেত্রাকার গ্রিডের উপরের-বাম কোণে শুরু হয়, -|+
প্রতীক দ্বারা সীমাবদ্ধ । রাস্তাটির একটি সমাপ্তি রয়েছে যদি এটি অনুসরণ করে আপনি একটি সীমান্তে পৌঁছে যান, অন্যথায়, আপনি অসীম পথে আটকা পড়বেন।
রাস্তায় আপনার পথ সন্ধান করা v>^<
এবং মিরর দ্বারা প্রদত্ত নির্দেশাবলী অনুসরণ করে সম্পন্ন হয় । আপনি কোথায় এসেছেন তার উপর নির্ভর করে একটি আয়না 90% দ্বারা প্রতিফলিত হবে। এটি কীভাবে কাজ করে তা এখানে ( v>^<
দিকনির্দেশ দেখানোর জন্য ব্যবহার করে):
^ ^
>/< >\<
v v
</> <\>
^ ^
কোনও রাস্তা যদি শেষ হয় তবে এটির মতো দেখাচ্ছে:
+--------------------+
|>\/ this way >\/> | this one ends here
| v^ \/ |
| v^ ^.^ |
| \/\ >v |
| /\/ ^< |
+--------------------+
অসীম লুপ:
+--------+
|>>\ This|
|\\ is |
| \\ a |
| \ /trap|
+--------+
সুনির্দিষ্ট
কোনও রাস্তা অগত্যা কেবলমাত্র নির্দেশাবলীর সমন্বয়ে থাকে। এটি সম্পূর্ণ করতে স্পেস বা অক্ষর ব্যবহার করা যেতে পারে। এর অর্থ আপনি কোনও অক্ষর অতিক্রম না করেই আপনাকে একই দিকে অগ্রসর হতে হবে <v^>-|
।
v>^<
উপরের-বাম কোণে সর্বদা যে কোনও একটি থাকবে <
বা ^
এই রাস্তাটির প্রান্তটি বোঝায়।
আপনি প্যারামিটার হিসাবে একটি স্ট্রিং গ্রহণ করে একটি ফাংশন জমা দিতে পারেন, বা আপনার ভাষার সবচেয়ে নিকটতম বিকল্প যা যা STDIN / ব্যবহার করে একটি স্ট্যান্ডেলোন প্রোগ্রাম।
আপনার জমাটি শেষ হয়ে গেলে অবশ্যই STDOUT সত্যতা / মিথ্যা মানগুলিতে মুদ্রণ করতে হবে বা প্রিন্ট করতে হবে। সত্যবাদী মানগুলির অর্থ রাস্তার একটি শেষ আছে, যখন মিথ্যা মানে এটি একটি অসীম লুপ।
পরীক্ষার মামলা
+--------------------+
|>\/ this way >\/> | this one ends here
| v^ \/ |
| v^ ^.^ |
| \/\ >v |
| /\/ ><> ^< |
+--------------------+
True
+--------+
|>>\ This|
|\\ is |
| \\ a |
| \ /trap|
+--------+
False
+--+
|<v|
|^<|
+--+
True
+--+
|>v|
|^<|
+--+
False
+----------+
|v Hello \ |
|\\/\/ / |
| \/\\ \ |
|/ // >\ |
| ^/\>\\/ |
|\ /\/\/ |
+----------+
False
+-----+
|>\/\\|
|//\\/|
|\/\\\|
|//\//|
|\/\/ |
+-----+
True
2 test cases added as suggested by @MartinBüttner
+----+
|v |
|\\ |
|//\ |
|\\v |
| \/ |
+----+
False
+----+
|v |
|\\ |
|//\ |
|\\^ |
| \/ |
+----+
False
Test case inspired by @ETHproductions
+-------------------------+
|><> |
|something smells fishy...|
+-------------------------+
False
স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ (সর্বদা হিসাবে)।
বিজয়ী হবেন বাইটের মধ্যে সংক্ষিপ্ততম কোড সহ। (এটি একটি> <> উত্তর দেখতে আশ্চর্যজনক হবে :))