আসুন একটি সাধারণ 2D ভাষা সংজ্ঞা দিন, যা আমরা অবিশ্বাস্যভাবে মূল নামটি বেফিংজ দেব । বেফিংয়ের 5 টি নির্দেশনা রয়েছে:
<>^v
বেশিরভাগ 2 ডি এসোলংয়ের মতোই নির্দেশ নির্দেশিকাটি তাদের নিজ নিজ দিক থেকে পুনর্নির্দেশ করুন।.
একটি অপ- অপ হয়।
উপরের-বাম কোণে ডানদিকে যেতে নির্দেশ পয়েন্টারটি শুরু হয়। যদি নির্দেশ পয়েন্টারটি একটি প্রান্তে চলে যায় তবে প্রোগ্রামটি থামে। প্রতিটি বেফিং প্রোগ্রাম অবশ্যই স্পষ্টভাবে থামবে বা অসীম লুপে যাবে যা কিছুই করে না। এখানে দুটি উদাহরণ দেওয়া হল:
স্থগিত:
>.v
..<
অ স্থগিত:
>....v
..v..<
..>v..
^..<..
থামানো সমস্যা টিউরিং-সম্পূর্ণ ভাষার জন্য সমাধানযোগ্য নয়, তবে এটি এটির জন্য। আপনার কাজটি এমন একটি প্রোগ্রাম (বা ফাংশন) লিখতে হবে যা বেফিং প্রোগ্রামকে উপস্থাপন করে একটি স্ট্রিং নেয় এবং এটি থেমে যায় বা না তার উপর নির্ভর করে সত্যবাদী বা মিথ্যা মান দেয়।
- আপনি ধরে নিতে পারেন যে ইনপুটটিতে কেবল এই অক্ষর থাকবে এবং একটি আয়তক্ষেত্র গঠনের জন্য স্পেস দিয়ে প্যাড করা হবে।
- নির্দেশাবলীর জন্য আপনি পাঁচটি অক্ষরের কোনও সেট ব্যবহার করতে পারেন (উদাঃ
adws
)।
পরীক্ষার মামলা
স্থগিত:
.
v>
>^
....v....
....>...v
.^..<....
.......v<
.......v.
....^..<.
v<>v>v^
>v^>^>v
<>>^v<v
v^<>v^<
অ স্থগিত:
>..v
^..<
>v<
v<.
>v.
v<.
>.^
>.>.>.v
.><.<.<
এটি কোড-গল্ফ , তাই সংক্ষিপ্ততম প্রোগ্রামটি (বাইটে) জিতেছে।
>..>.
বা করে তোলে ><
।