Cho một danh sách các số [ a 1 a 2 ... a n ] , tính tổng của tất cả các ma trận Aᵢ trong đó Aᵢ được định nghĩa như sau ( m là cực đại của tất cả aᵢ ):
1 2 ⋯ (i-1) i (i+1) ⋯ n
+----------------------------
1 | 0 0 ⋯ 0 aᵢ aᵢ ⋯ aᵢ
2 | 0 0 ⋯ 0 aᵢ aᵢ ⋯ aᵢ
. . . . . . . .
. . . . . . . .
aᵢ | 0 0 ⋯ 0 aᵢ aᵢ ⋯ aᵢ
aᵢ₊₁ | 0 0 ⋯ 0 0 0 ⋯ 0
. . . . . . . .
. . . . . . . .
m | 0 0 ⋯ 0 0 0 ⋯ 0
Thí dụ
Cho đầu vào, [2,1,3,1]
chúng tôi xây dựng ma trận sau:
[2 2 2 2] [0 1 1 1] [0 0 3 3] [0 0 0 1] [2 3 6 7]
[2 2 2 2] + [0 0 0 0] + [0 0 3 3] + [0 0 0 0] = [2 2 5 5]
[0 0 0 0] [0 0 0 0] [0 0 3 3] [0 0 0 0] [0 0 3 3]
Quy tắc và I / O
- bạn có thể cho rằng đầu vào không trống
- bạn có thể cho rằng tất cả các đầu vào là không âm (0≤)
- đầu vào có thể là ma trận 1 × n (hoặc n × 1), danh sách, mảng, v.v.
- tương tự đầu ra có thể là một ma trận, danh sách các danh sách, mảng, v.v.
- bạn có thể lấy và trả lại đầu vào thông qua bất kỳ định dạng I / O mặc định nào
- trình của bạn có thể là một chương trình hoặc chức năng đầy đủ
Các trường hợp thử nghiệm
[0] -> [] or [[]]
[1] -> [[1]]
[3] -> [[3],[3],[3]]
[2,2] -> [[2,4],[2,4]]
[3,0,0] -> [[3,3,3],[3,3,3],[3,3,3]]
[1,2,3,4,5] -> [[1,3,6,10,15],[0,2,5,9,14],[0,0,3,7,12],[0,0,0,4,9],[0,0,0,0,5]]
[10,1,0,3,7,8] -> [[10,11,11,14,21,29],[10,10,10,13,20,28],[10,10,10,13,20,28],[10,10,10,10,17,25],[10,10,10,10,17,25],[10,10,10,10,17,25],[10,10,10,10,17,25],[10,10,10,10,10,18],[10,10,10,10,10,10],[10,10,10,10,10,10]]