Giriş
Girişiniz , bir tamsayı için 2n+1
satır satırları ile uzunluk satırlarına ayrılmış tek bir dizedir . Tam sayı girdinin bir parçası değildir; dizeden hesaplamanız gerekir. Satırlar "yön karakterlerinden" oluşur . Yeni satırlar sorun çıkarsa, bunları dikey borularla değiştirebilirsiniz .2n+1
n ≥ 0
n
>^<v
|
Girdi, kare büyüklüğünde bir ızgara oluşturur (2n+1)x(2n+1)
ve ızgaranın her hücresi , dört kardinal yönden birine işaret eden bir rotor yönlendirici olarak yorumlanır . Ağın ortasındaki yönlendiriciye bir belirteç bırakmaya devam ediyoruz ve ardından yönlendiriciler aşağıdaki şekilde hareket ettirecek. Jeton bir yönlendiricinin üzerine geldiğinde, yönlendirici saat yönünün tersine 90 derece döner ve jetonu işaret ettiği yeni yönde bir adım taşır. Başka bir yönlendiriciye inerse, işlem tekrarlanır, ancak sonunda belirteç ızgaradan düşecektir.
Çıktı
Çıktınız, yönlendiricilerin girişle aynı biçimde son yapılandırmasıdır.
Misal
Örnek bir girdi olarak, 3x3
ızgarayı düşünün
<^<
^><
>^v
merkezi yönlendiricinin belirteci belirtmek için vurgulandığı yerlerde (görmek biraz zor). Merkezi yönlendirici kuzeye bakacak şekilde döner ve jetonu üst sıranın merkezi hücresine taşır:
<^<
^^<
>^v
Bu yönlendirici batıya dönük olarak döner ve jetonu sol üst köşeye gönderir:
<<<
^^<
>^v
Köşedeki yönlendirici jetonu güneye gönderir, bu yüzden şimdi orta sıranın en soldaki hücresindedir:
v<<
^^<
>^v
Bu yönlendirici batıya dönük olarak döner ve jetonu ızgaradan gönderir.
v<<
<^<
>^v
Bu son ızgara yapılandırmasıdır, bu nedenle programınız çıktı almalıdır. Daha karmaşık örneklerde, simgenin ızgaradan düşmeden önce aynı yönlendiriciyi birkaç kez geçirebileceğini unutmayın.
kurallar
Bir işlev veya tam bir program yazabilirsiniz. Bu kod golf, bu yüzden en düşük bayt sayısı kazanır. Standart boşluklara izin verilmez. Girdi ve / veya çıktıda bir satırsonu olup olmadığına karar verebilirsiniz.
Test Durumları
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
^<<<<<<<<