Lấy một ma trận vuông chứa các số nguyên dương làm đầu vào và tính "tổng xoay" của ma trận.
Tổng số luân chuyển:
Lấy tổng của ma trận gốc và cùng một ma trận xoay 90, 180 và 270 độ.
Giả sử ma trận là:
2 5 8
3 12 8
6 6 10
thì tổng số vòng quay sẽ là:
2 5 8 8 8 10 10 6 6 6 3 2
3 12 8 + 5 12 6 + 8 12 3 + 6 12 5 =
6 6 10 2 3 6 8 5 2 10 8 8
26 22 26
22 48 22
26 22 26
Các trường hợp thử nghiệm:
Đầu vào và đầu ra được phân tách bằng dấu gạch ngang, các trường hợp thử nghiệm khác nhau được phân tách bằng một dòng mới. Các trường hợp thử nghiệm ở các định dạng thuận tiện hơn có thể được tìm thấy ở đây .
1
-------------
4
1 3
2 4
-------------
10 10
10 10
14 6 7 14
6 12 13 13
6 2 3 10
5 1 12 12
-------------
45 37 24 45
24 30 30 37
37 30 30 24
45 24 37 45
14 2 5 10 2
18 9 12 1 9
3 1 5 11 14
13 20 7 19 12
2 1 9 5 6
-------------
24 29 31 41 24
41 49 31 49 29
31 31 20 31 31
29 49 31 49 41
24 41 31 29 24
f=lambda*l:l[3:]and[map(sum,zip(*d))for d in zip(*l)]or f(zip(*l[0][::-1]),*l)
lưu hai byte với đầu vào "bình thường". Hãy thử trực tuyến!