태스크
목표는 2 차원 목록을 45도 회전시키는 프로그램을 작성하는 것이므로 목록을 반환하기 전에 최대 7 * 45 (한 번에) 까지이 작업을 수행 할 수 있어야합니다. 목록이 반드시 정사각형 또는 직사각형 일 필요는 없습니다. 답변에 예제에 대한 출력을 포함해야합니다. 예제, 원, 삼각형 등이 아닌 경우에도 작동해야합니다. 기존 기능을 사용하여 전체 작업을 수행 할 수 없습니다.
모든 목록에는 적어도 하나의 대칭 축 (N, S, E, W)이 있습니다. 모든 하위 목록은 중앙 정렬로 가정됩니다. 홀수 짝수 목록은 올바르게 정렬되도록 왼쪽으로 이동합니다. 서브리스트 중간에 간격이있는 경우 예 4를 참조하십시오.
입력
프로그램은 l목록을 포함하는 이름이 지정된 변수 와 n목록이 회전 할 양을 지정하는 이름이 지정된 변수 (n * 45)를 사용합니다 ( n항상 7보다 작고 0 일 수 있음). 그것은 동의 할 것이다 l인쇄 가능한 데이터 형식 (소수점, 목록, INT, 문자열 [] 등등)의 포함 된 하위 목록을하지만, 하위 목록은 한 번에 하나의 데이터 유형이 포함됩니다.
콘솔 입력을 받거나 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]]
삼
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시간을 n45도 회전 시키지 않고 회전 시키 시겠습니까? 7 번 45 ° 회전을 적용하여 예제 3의 결과를 얻지 못할 것이라고 확신하기 때문에 묻습니다.