Là một phần của thuật toán nén của nó, tiêu chuẩn JPEG sẽ hủy một ma trận thành một vectơ dọc theo các antidiagonals theo hướng xen kẽ:
Nhiệm vụ của bạn là lấy một ma trận (không nhất thiết phải là hình vuông) và trả lại nó ở dạng không được kiểm soát. Ví dụ:
[1 2 3 4
5 6 7 8
9 1 2 3]
nên nhường
[1, 2, 5, 9, 6, 3, 4, 7, 1, 2, 8, 3]
Quy tắc
Bạn có thể giả sử rằng các phần tử ma trận là số nguyên dương nhỏ hơn 10
.
Bạn có thể viết chương trình hoặc hàm, lấy đầu vào qua STDIN (hoặc thay thế gần nhất), đối số dòng lệnh hoặc đối số hàm và xuất kết quả qua tham số STDOUT (hoặc thay thế gần nhất), tham số trả về hàm hoặc tham số hàm (out).
Ma trận đầu vào có thể được đưa ra trong bất kỳ định dạng chuỗi hoặc danh sách lồng nhau thuận tiện, rõ ràng, hoặc dưới dạng danh sách phẳng cùng với cả hai kích thước ma trận. (Hoặc, tất nhiên, là một loại ma trận nếu ngôn ngữ của bạn có những thứ đó.)
Vectơ đầu ra có thể ở bất kỳ định dạng chuỗi hoặc danh sách phẳng hoặc thuận tiện, rõ ràng.
Luật golf tiêu chuẩn được áp dụng.
Các trường hợp thử nghiệm
[[1]] => [1]
[[1 2] [3 1]] => [1 2 3 1]
[[1 2 3 1]] => [1 2 3 1]
[[1 2 3] [5 6 4] [9 7 8] [1 2 3]] => [1 2 5 9 6 3 4 7 1 2 8 3]
[[1 2 3 4] [5 6 7 8] [9 1 2 3]] => [1 2 5 9 6 3 4 7 1 2 8 3]
[[1 2 6 3 1 2] [5 9 4 7 8 3]] => [1 2 5 9 6 3 4 7 1 2 8 3]
[[1 2 5 9 6 3 4 7 1 2 8 3]] => [1 2 5 9 6 3 4 7 1 2 8 3]
[[1] [2] [5] [9] [6] [3] [4] [7] [1] [2] [8] [3]] => [1 2 5 9 6 3 4 7 1 2 8 3]
Những thách thức liên quan
- Tái cấu trúc một ma trận zigzagified (phép biến đổi nghịch đảo có phần phức tạp hơn)
- Xoay các đường chéo