ইনপুট
আপনার ইনপুটটি একটি একক স্ট্রিং, কিছু পূর্ণসংখ্যার জন্য 2n+1
দৈর্ঘ্যের লাইনে নিউলাইন দ্বারা পৃথক করা । পূর্ণসংখ্যা ইনপুটটির অংশ নয়; আপনি এটি স্ট্রিং থেকে গণনা করতে হবে। লাইনগুলি "দিকনির্দেশের অক্ষর" দ্বারা গঠিত । যদি নিউলাইনগুলিতে কোনও সমস্যা দেখা দেয় তবে আপনি সেগুলি উল্লম্ব পাইপ দ্বারা প্রতিস্থাপন করতে পারেন ।2n+1
n ≥ 0
n
>^<v
|
ইনপুটটি আকারের একটি বর্গ গ্রিড গঠন করে (2n+1)x(2n+1)
এবং গ্রিডের প্রতিটি কক্ষকে একটি রটার রাউটার হিসাবে ব্যাখ্যা করা হয় , যা চারটি মূল দিকের মধ্যে একটিতে নির্দেশ করে। আমরা গ্রিডের কেন্দ্রে রাউটারের উপরে একটি টোকন ফেলে দিতে এগিয়ে চলেছি এবং তারপরে রাউটারগুলি নীচের উপায়ে এটিকে ঘুরিয়ে দেবে। টোকন যখন কোনও রাউটারে অবতরণ করে, রাউটারটি ঘড়ির কাঁটার বিপরীতে 90 ডিগ্রি ঘুরিয়ে দেয় এবং টোকনটিকে একটি নতুন ধাপে নির্দেশিত করে যেখানে এটি নির্দেশ করে। যদি এটি অন্য রাউটারে অবতরণ করে তবে প্রক্রিয়াটি পুনরাবৃত্তি হয় তবে শেষ পর্যন্ত টোকনটি গ্রিডের বাইরে চলে যাবে।
আউটপুট
আপনার আউটপুটটি রাউটারগুলির চূড়ান্ত কনফিগারেশন, ইনপুট হিসাবে একই বিন্যাসে।
উদাহরণ
উদাহরণ ইনপুট হিসাবে, 3x3
গ্রিড বিবেচনা করুন
<^<
^><
>^v
যেখানে টোকেনটি নির্দেশ করতে কেন্দ্রীয় রাউটারটি হাইলাইট করা হয়েছে (এটি দেখতে কিছুটা শক্ত)। কেন্দ্রীয় রাউটারটি উত্তরের দিকে ঘোরার জন্য এবং টোকনটিকে শীর্ষ সারির কেন্দ্রীয় কক্ষে নিয়ে যায়:
<^<
^^<
>^v
এই রাউটারটি পশ্চিমে মুখ ঘুরিয়ে দেয় এবং টোকনটি বাম কোণে প্রেরণ করে:
<<<
^^<
>^v
কোণার রাউটারটি টোকেন দক্ষিণে প্রেরণ করে, তাই এটি এখন মধ্য সারিটির বামতম কক্ষে:
v<<
^^<
>^v
এই রাউটারটি পশ্চিম দিকে ঘোরানো হয় এবং টোকেনটিকে গ্রিডের বাইরে পাঠায়।
v<<
<^<
>^v
এটি চূড়ান্ত গ্রিড কনফিগারেশন, সুতরাং আপনার প্রোগ্রাম এটি আউটপুট করা উচিত। নোট করুন যে আরও জটিল উদাহরণে, টোকন গ্রিডটি পড়ে যাওয়ার আগে একই রাউটারটিকে একাধিকবার পাস করতে পারে।
বিধি
আপনি কোনও ফাংশন বা একটি সম্পূর্ণ প্রোগ্রাম লিখতে পারেন। এটি কোড-গল্ফ, তাই সর্বনিম্ন বাইট গণনা জিতে। স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়। ইনপুট এবং / অথবা আউটপুটে ট্রেলিং করা নতুন লাইন আছে কিনা তা আপনি সিদ্ধান্ত নিতে পারেন।
পরীক্ষার কেস
Input:
v
Output:
>
Input:
<^<
^><
>^v
Output:
v<<
<^<
>^v
Input:
>>^>>
v<vv<
>^>^<
^<>>^
vvv>>
Output:
>>^>>
>v>>v
^>>vv
^^>>>
v^<<^
Input:
<^^^^^^^^
<<^^^^^^>
<<<^^^^>>
<<<<^^>>>
<<<<^>>>>
<<<vv>>>>
<<vvvv>>>
<vvvvvv>>
vvvvvvvv>
Output:
>>>>>>>>v
^>>>>>>vv
^^>>>>vvv
^^^>>vvvv
<<<<<vvvv
^^^^<<vvv
^^^<<<<vv
^^<<<<<<v
^<<<<<<<<