Để cho A
là một m
bằng n
ma trận chữ nhật của dương số nguyên, nơi m
và n
cũng là tích cực số nguyên.
Chúng tôi quan tâm đến các đường dẫn RoD ('Phải hoặc xuống') từ ô trên bên trái đến ô A
dưới bên phải; trong một đường dẫn RoD, mỗi ô liên tiếp của đường dẫn là một ô ở bên phải hoặc một ô nằm xuống từ ô trước đó.
Với bất kỳ đường dẫn RoD nào như vậy, chúng ta có thể lấy tổng của các ô trong A
đường dẫn đó.
Ví dụ, hãy xem xét ma trận 4 by 3:
[ [1, 2, 3, 4],
[5, 1, 6, 7],
[8, 2, 1, 1] ]
Sau đó, chúng ta có thể xem xét đường dẫn RoD:
1 > 2 3 4
v
5 1 6 7
v
8 2 > 1 > 1
trong đó có một tổng số 1+2+1+2+1+1=8
. Điều đáng chú ý là đường dẫn này có tổng nhỏ nhất trong tất cả các đường dẫn RoD có thể từ trên trái sang dưới phải trong ma trận đó.
Vì vậy, thách thức được đề xuất là cung cấp chức năng / chương trình ngắn nhất trong ngôn ngữ bạn chọn, đưa ra tổng tối thiểu một đường RoD từ phía trên bên trái sang phía dưới bên phải có thể có trong một ma trận nhất định A
.
Các lỗ hổng bị cấm thông thường có hiệu lực. Đầu vào của bạn có thể ở bất kỳ định dạng hợp lý; đầu ra của bạn phải là một số nguyên.
Đây là môn đánh gôn; câu trả lời được tính theo số byte.
Các trường hợp thử nghiệm
[ [5] ] -> 5
[ [5, 2] ] -> 7
[ [5],
[2] ] -> 7
[ [ 9 , 1 , 12, 3 ],
[ 12, 11, 6 , 11],
[ 12, 9 , 2 , 11] ] -> 40
[ [ 6 , 8 , 11, 2 ],
[ 3 , 6 , 7 , 6 ],
[ 6 , 2 , 8 , 12] ] -> 37
[ [ 4 , 5 , 8 , 4 ],
[ 6 , 5 , 9 , 4 ],
[ 2 , 5 , 6 , 8 ] ] -> 31
[ [ 4 , 5 , 15, 18, 30],
[ 26, 26, 3 , 4 , 5 ],
[ 7 , 9 , 29, 25, 14],
[ 16, 1 , 27, 13, 27],
[ 23, 11, 25, 24, 12],
[ 17, 23, 7 , 14, 5 ] ] -> 94
[ [ 10, 15, 7 , 2 , 9 ],
[ 24, 5 , 2 , 1 , 25],
[ 2 , 12, 14, 30, 18],
[ 28, 4 , 12, 22, 14],
[ 15, 21, 21, 11, 4 ],
[ 21, 15, 21, 29, 9 ] ] -> 103