รับชุดของปิดไม่ทับซ้อนกันรูปทรง 2d (คั่นด้วยช่องว่างอย่างน้อยหนึ่งแม้กระทั่งบนเส้นทแยงมุม) ที่มีลูกศรที่มุ่งเน้นต่อเนื่องในเดียวกันตามเข็มนาฬิกาหรือทวนเข็มนาฬิกาทิศทาง (แต่ละรูปร่างมีทิศทางของตัวเอง) และจำนวนบวกn
ย้ายลูกศรn
ทำตามขั้นตอนตามทิศทางที่กำหนด ลูกศรจะแสดง> v < ^
ตามลำดับสำหรับทิศทางขวาลงซ้ายและขึ้น มีตัวละครอื่น ๆ-
(แนวนอน), |
(แนวตั้ง) และ+
(มุม) เมื่อลูกศรอยู่ที่มุมหนึ่งมันจะรักษาทิศทางปัจจุบันและเปลี่ยนเฉพาะหลังจากเลี้ยว
จะมีส่วนที่เป็นเส้นตรง (หรือช่องว่าง) ระหว่างสองมุมใด ๆ (เช่น+-+
แนวนอนและแนวตั้งที่คล้ายกัน) - กล่าวอีกนัยหนึ่งU
คือห้ามการเลี้ยวที่คมชัด ส่วนระหว่างมุมทั้งแนวตั้งหรือแนวนอนและโค้งที่มุมอยู่เสมอ 90 องศา
การป้อนข้อมูล:
- จำนวนเต็มบวก -
n
- จำนวนขั้นตอน - การเป็นตัวแทน ASCII ของรูปทรง - มันอาจเป็นสตริงหลายรายการของสตริงรายการของตัวละครและอื่น ๆ
เอาท์พุท:
รูปทรงเดียวกันกับลูกศรทั้งหมดเปลี่ยนn
ขั้นตอนในทิศทางโดยรวมของแต่ละเส้น
กรณีทดสอบ:
1
การป้อนข้อมูล:
n
= 1
+----->->
| |
| v---+
| |
+---<-------+
เอาท์พุท:
+------>+
| v
| +>--+
| |
+--<--------+
2
การป้อนข้อมูล:
n
= 2
+-----+ +---+
| | | |
+-->--+ | v
| |
+--->---+ |
| |
+------<<---+
เอาท์พุท:
+-----+ +---+
| | | |
+---->+ | |
| |
+----->-+ v
| |
+----<<-----+
3
การป้อนข้อมูล:
n
= 3
+---+ +---+ +-------+
| | | v | |
^ | | | +-<-+ |
| | ^ | | v
| +---+ +-->----+ |
| |
| +-------+ +---+ |
| | | v | |
+---+ +---+ +---+
เอาท์พุท:
+>--+ ^---+ +-------+
| | | | ^ |
| | | | +---+ |
| | | | | |
| +---+ v----->-+ |
| |
| +-------+ +---+ v
| | | | | |
+---+ +-<-+ +---+
4
การป้อนข้อมูล:
n
= 1
+--+
| |
| +---+
| |
+----+ |
| |
+-+
เอาท์พุท:
+--+
| |
| +---+
| |
+----+ |
| |
+-+
5
อินพุต
n
= 4
^>>>>
^ v
^ v>>>>
^ v
<<<<<<<<v
เอาท์พุท:
^>>>>
^ v
^ v>>>>
^ v
<<<<<<<<v
6
การป้อนข้อมูล:
n
= 1
^->
^ v
<<v
เอาท์พุท:
^>+
^ v
<<v
เขียนฟังก์ชั่นหรือโปรแกรมที่แก้ปัญหางานด้านบน รหัสที่สั้นที่สุดเป็นไบต์ในทุกภาษาชนะ อย่าท้อใจกับภาษากอล์ฟ คำอธิบายของอัลกอริทึมและรหัสเป็นที่นิยมอย่างสูง
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.