leaperเป็นหมวดหมู่ของชิ้นหมากรุกนางฟ้าซึ่งย้ายจาก "กระโดด". อัศวินปกติคือ (1,2) -leaper ซึ่งหมายถึงการเคลื่อนไหวแต่ละครั้งเกี่ยวข้องกับการเคลื่อนที่เป็นระยะทาง 1 ตารางในทิศทางมุมฉากและ 2 สี่เหลี่ยมในทิศทางตั้งฉาก
.o.o.
o...o
..N..
o...o
.o.o.
มี leapers ที่แตกต่างกันมากมาย leaper (1,3) เรียกว่า Long Knight หรือ Camel รูปแบบการย้ายของมันมีลักษณะดังนี้:
..o.o..
.......
o.....o
...L...
o.....o
.......
..o.o..
นอกจากนี้ยังมี (2,2) Alfil ...
o...o
.....
..A..
.....
o...o
... และแม้กระทั่ง (0,1) Wazir
.o.
oWo
.o.
ท้าทาย
เมื่อกำหนดตัวเลขเป็นคู่ให้ส่งออกแผนภาพการเคลื่อนไหวที่สอดคล้องกัน คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นโดยอินพุตที่ให้ผ่าน STDIN / command-line หรือเป็นอาร์กิวเมนต์และเอาต์พุตที่ให้โดย STDOUT หรือค่าส่งคืน นี่คือรหัสกอล์ฟ
อินพุต
ข้อมูลที่ป้อนจะเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคของจำนวนเต็มสองตัวและตัวอักษรตัวพิมพ์ใหญ่ จำนวนเต็มสองจำนวนจะอยู่ในช่วง0-7
(รวม) และในลำดับที่ไม่ลดลง ขึ้นบรรทัดใหม่ทางเลือกสำหรับอินพุตและเอาต์พุต
นี่คืออินพุตสำหรับสี่ตัวอย่างข้างต้น:
1,2,N
1,3,L
2,2,A
0,1,W
เอาท์พุต
การส่งออกจะเป็นสตริง multiline รูปสี่เหลี่ยม อักษรตัวใหญ่จะถูกวางไว้ในศูนย์เพื่อเป็นตัวแทนที่ตั้งปัจจุบันของชิ้น สถานที่การเคลื่อนไหวจะแสดงโดยทั้ง 4 หรือ 8 ตัวพิมพ์เล็กo
s ช่องว่างอื่น ๆ ทั้งหมดในจัตุรัสจะเต็มไปด้วยจุด
หากรูปแบบการเคลื่อนไหวแสดง0,0
เฉพาะอักษรตัวใหญ่
ถ้าจำนวนเต็มตัวที่สอง (จำนวนที่มากกว่า) มีค่า N ดังนั้นสี่เหลี่ยมจะมีความยาวด้าน 2N + 1 เสมอ o
เสมอจะอยู่ในปริมณฑลของตาราง
Testcase เพิ่มเติม
1,1,F
o.o
.F.
o.o
5,7,Q
..o.........o..
...............
o.............o
...............
...............
...............
...............
.......Q.......
...............
...............
...............
...............
o.............o
...............
..o.........o..
0,0,J
J