Sürekli olarak aynı saat yönünde veya saat yönünün tersi yönünde (her kontur kendi yönüne sahip) yönlendirilmiş n
oklarla ve (her bir kontur kendi yönüne sahip) tutarlı bir üst üste binmeyen kapalı 2d kontür kümesi (çaprazlarda bile en az bir boşlukla ayrılmış) göz önüne alındığında , okları hareket ettirin n
Konturlar boyunca ilgili yönde adımlar. Oklar > v < ^
sırasıyla sağ, aşağı, sol ve yukarı yönlerde gösterilir. Diğer karakterler -
(yatay), |
(dikey) ve +
(köşe). Bir köşede bir ok varken, geçerli yönünü korur ve sadece dönüş alındıktan sonra değiştirir.
İki köşenin arasında ( +-+
yatay ve düşey gibi) her zaman düz bir bölüm (veya boşluk ) olacaktır - başka bir deyişle keskin U
dönüşler yasaktır. Köşeler arasındaki bölümler dikey veya yataydır ve bir köşedeki dirsek daima 90 derecedir.
Giriş:
- pozitif bir tamsayı -
n
- adım sayısı - konturların ASCII gösterimi - çok satırlı bir dize, dizelerin listesi, karakterlerin listesi vb. olabilir.
Çıktı:
Tüm oklarla aynı hatlar n
, her bir çizginin genel yönündeki adımları değiştirdi .
Test durumları:
1.
Giriş:
n
= 1
+----->->
| |
| v---+
| |
+---<-------+
Çıktı:
+------>+
| v
| +>--+
| |
+--<--------+
2.
Giriş:
n
= 2
+-----+ +---+
| | | |
+-->--+ | v
| |
+--->---+ |
| |
+------<<---+
Çıktı:
+-----+ +---+
| | | |
+---->+ | |
| |
+----->-+ v
| |
+----<<-----+
3.
Giriş:
n
= 3
+---+ +---+ +-------+
| | | v | |
^ | | | +-<-+ |
| | ^ | | v
| +---+ +-->----+ |
| |
| +-------+ +---+ |
| | | v | |
+---+ +---+ +---+
Çıktı:
+>--+ ^---+ +-------+
| | | | ^ |
| | | | +---+ |
| | | | | |
| +---+ v----->-+ |
| |
| +-------+ +---+ v
| | | | | |
+---+ +-<-+ +---+
4.
Giriş:
n
= 1
+--+
| |
| +---+
| |
+----+ |
| |
+-+
Çıktı:
+--+
| |
| +---+
| |
+----+ |
| |
+-+
5.
Giriş
n
= 4
^>>>>
^ v
^ v>>>>
^ v
<<<<<<<<v
Çıktı:
^>>>>
^ v
^ v>>>>
^ v
<<<<<<<<v
6.
Giriş:
n
= 1
^->
^ v
<<v
Çıktı:
^>+
^ v
<<v
Yukarıdaki görevi çözen bir işlev veya program yazın. Her dilde bayt cinsinden en kısa kod kazanır. Golf dilleri tarafından cesaretlendirilmeyin. Algoritma ve kodun açıklaması son derece takdir edilmektedir.
There will always be a straight segment (or a space) between any two corners (like +-+ for the horizontal and similar for the vertical) - in other words the sharp U turns are forbidden.