도전
주어진 n x m
와 매트릭스를 n > 1
하고 m > 1
정수 가득
1 2 3 4 5 6
2x2
행렬의 블록 수만큼 정확하게 값을 가진 정수 목록 ( (n-1)*(m-1)
정확한 숫자가 필요한 경우)
[1, 2]
2x2
주어진 순서대로 목록의 현재 값만큼 모든 블록을 회전시켜 행렬을 출력합니다 . 위의 예는
4 6 2 5 3 1
첫 번째 블록은 오른쪽으로 한 번 회전하고 두 번째 블록은 오른쪽으로 두 번 회전합니다.
메모
- 양의 정수는 여러 단계만큼 오른쪽으로 회전한다는 의미입니다.
- 음의 정수는 여러 단계만큼 왼쪽으로 회전한다는 의미입니다.
- 0은 회전하지 않음을 의미합니다.
- 블록을 행 방향으로 회전합니다. 즉, 첫 번째 행에서 시작하여 오른쪽으로 이동합니다. 해당 행의 모든 블록을 회전하면 다음 블록으로 이동합니다. 결국 모든 블록은 정확히 한 번 회전되었습니다.
- 블록이 서로 겹칩니다. 제 행렬은 상기 블록 보유
[[1,2],[4,5]]
하고[[2,3],[5,6]]
, 예를 들어. - 블록의 각 회전은 인접한 블록의 회전에 영향을줍니다. 그렇기 때문에 위에서 설명한 패턴으로 회전해야합니다.
규칙
- 가장 편리한 형식으로 입력 할 수 있습니다. 어떤 것을 사용하는지 답에 명시하십시오. 그래야 행렬 단위로 행렬을 읽을 수 없습니다 .
- 기능 또는 전체 프로그램이 허용됩니다.
- 입 / 출력의 기본 규칙 .
- 표준 허점이 적용됩니다.
- 이것은 code-golf 이므로 바이트 수가 가장 적습니다. Tiebreaker는 이전에 제출되었습니다.
테스트 사례
여기의 입력 형식은 행렬 목록과 값에 대한 일반 목록입니다.
[[1,2], [3,4]], [-3]-> [[4,1], [3,2]] [[1,1,1], [1,1,1]], [-333, 666]-> [[1,1,1], [1,1,1]] [[1,2,3], [4,5,6]], [1,2]-> [[4,6,2], [5,3,1]] [[1,2,3], [4,5,6], [7,8,9]], [4,0,12, -20]-> [[1,2,3], [4, 5,6], [7,8,9]] [[1,2,3,4,5], [5,4,3,2,1], [1,2,3,4,5]], [2, -3,4,1,6, 24,21, -5]-> [[4,1,5,2,4], [2,1,3,5,5], [3,2,4,3,1]]
행복한 코딩!
4,=
올바른 모듈로 를 사용하여 바이트를 저장할 수 있습니다 (블록을 한 번 이상 실행해야하는 경우 제외).