งาน
เป้าหมายคือการเขียนโปรแกรมที่หมุนรายการสองมิติ 45 องศาโดยจะต้องสามารถทำได้สูงสุด 7 * 45 (ในครั้งเดียว) ก่อนที่จะส่งคืนรายการ รายการไม่จำเป็นต้องเป็นรูปสี่เหลี่ยมจัตุรัสหรือสี่เหลี่ยม คุณต้องรวมเอาท์พุทสำหรับตัวอย่างในคำตอบของคุณ นอกจากนี้ยังต้องใช้กับกรณีที่ไม่ได้อยู่ในตัวอย่าง ... วงกลมสามเหลี่ยม ฯลฯ คุณไม่สามารถใช้ฟังก์ชั่นที่มีอยู่แล้วเพื่อทำสิ่งทั้งหมด
รายการทั้งหมดจะมีแกนสมมาตรอย่างน้อยหนึ่งแกน (N, S, E, W) รายการย่อยทั้งหมดจะถูกจัดเป็นแบบกึ่งกลาง รายการที่ไม่สม่ำเสมอจะเลื่อนไปทางซ้ายเพื่อจัดแนวอย่างถูกต้อง ดูตัวอย่างที่ 4 สำหรับช่องว่างที่อยู่ตรงกลางของรายการย่อย
INPUT
โปรแกรมของคุณจะใช้ตัวแปรชื่อlที่มีรายการและตัวแปรที่มีชื่อnระบุจำนวนรายการที่จะถูกหมุน (n * 45) ( nจะน้อยกว่า 7 เสมอและอาจเป็น 0) มันจะต้องยอมรับlที่มีรายการย่อยของชนิดข้อมูลใด ๆ ที่พิมพ์ได้ (ทศนิยม, รายการ, int, String [] .. ฯลฯ ) แต่รายการย่อยจะมีประเภทข้อมูลเพียงครั้งเดียว
คุณไม่จำเป็นต้องยอมรับอินพุตคอนโซลหรือใช้ stdin บรรทัดที่ระบุค่าทดสอบของlและnไม่รวมอยู่ในจำนวนตัวอักษร แต่ต้องรวมอยู่ในรหัสที่ส่ง
เอาท์พุท
โปรแกรมของคุณจะต้องพิมพ์รายการในทิศทางที่ถูกต้องสามารถใช้ NIL ในการแสดงรายการได้หากคุณต้องการ แต่ไม่จำเป็นต้องใช้ช่องว่างภายใน รายการย่อยไม่จำเป็นต้องเยื้องหรือคั่นด้วยการขึ้นบรรทัดใหม่ในตัวอย่าง
ตัวอย่าง
1
IN
l=
[[0 , 1 , 2],
[3 , 4 , 5],
[6 , 7 , 8]]
n=1
OUT
[ [0],
[3 , 1],
[6 , 4 , 2],
[7 , 5],
[8] ]
2
IN
l=
[[a , b , c , d],
[e , f , g , h]]
n=2
OUT
[[e , a],
[f , b],
[c , g],
[h , d]]
3
IN
l=
[[A , B , C , D , E , F],
[G , H , I , J],
[K , L],
[0 , 8],
[M , N],
[O , P , Q , R],
[S , T , U , V , W , X]]
n=7
OUT
[ [F],
[E],
[D , J],
[C , I],
[B , H , L],
[A , G , K , 8],
[0 , N , R , X],
[M , Q , W],
[P , V],
[O , U],
[T],
[U] ]
4
IN
l=
[[9 , 8 , 7 , 6],
[5],
[4 , 3 , 2 , 1],
[0] ]
n=3
OUT
[ [0 , 4],
[3],
[2 , 5 , 9],
[1 ,NIL, 8],
[7],
[6], ]
5
IN
l=
[ [Q],
[X ,NIL, Y],
[Z] ]
n=2
OUT
[ [X],
[Z ,NIL, Q],
[Y] ]
nเวลาและไม่ใช่ด้วยn· 45 °หรือไม่? ฉันถามเพราะฉันค่อนข้างมั่นใจว่าฉันจะไม่ได้รับผลลัพธ์ของตัวอย่างที่ 3 โดยใช้การหมุน 45 องศาเจ็ดครั้ง