The Lazy Cow
Xem dạng PDFVào một ngày hè nóng nực, cô bò Bessie cảm thấy vô cùng lười biếng. Bessie muốn chọn cho mình một vị trí đứng thích hợp trên cánh đồng sao cho có thể với tới lượng cỏ thơm ngon nhiều nhất có thể mà chỉ phải di chuyển trong một khoảng cách thật ngắn.
Cánh đồng của Bessie được mô tả bởi một lưới ô vuông kích thước ~N \times N~ (~1 \le N \le 400~). Ô nằm ở hàng ~r~ và cột ~c~ (~1 \le r, c \le N~) chứa ~G(r, c)~ đơn vị cỏ (~0 \le G(r, c) \le 1000~). Từ ô vuông xuất phát ban đầu trên lưới, Bessie chỉ sẵn lòng di chuyển tối đa ~K~ bước (~0 \le K \le 2 \times N~). Mỗi bước đi, cô chỉ có thể di chuyển sang một ô kề cạnh kề trực tiếp theo một trong bốn hướng: bắc, nam, đông, hoặc tây.
Bạn hãy viết chương trình giúp Bessie xác định lượng cỏ tối đa mà cô có thể ăn được nếu chọn vị trí xuất phát tối ưu nhất trên cánh đồng nhé!
Input Specification
Dòng đầu tiên chứa hai số nguyên ~N~ và ~K~ (~1 \le N \le 400~, ~0 \le K \le 2 \times N~), lần lượt là kích thước cánh đồng và số bước tối đa Bessie có thể đi.
~N~ dòng tiếp theo, mỗi dòng chứa ~N~ số nguyên không âm mô tả số đơn vị cỏ tại mỗi ô trên hàng tương ứng của cánh đồng (~0 \le G(r, c) \le 1000~).
Output Specification
In ra một dòng:
- Ghi một số nguyên duy nhất là lượng cỏ tối đa mà Bessie có thể ăn được từ vị trí xuất phát tối ưu.
Sample Input
5 2
50 5 25 6 17
14 3 2 7 21
99 10 1 2 80
8 7 5 23 11
10 0 78 1 9
Sample Output
342
(Ghi chú: Nếu Bessie chọn vị trí xuất phát ở chính giữa cánh đồng là ô tại hàng 3, cột 3 (chứa 1 đơn vị cỏ), với ~K = 2~ bước đi, cô có thể tới được các ô được đánh dấu * dưới đây:
50 5 25* 6 17
14 3* 2* 7* 21
99* 10* 1*(B) 2* 80*
8 7* 5* 23* 11
10 0 78* 1 9
Tổng lượng cỏ tại các ô Bessie vươn tới được là: $25 + 3 + 2 + 7 + 99 + 10 + 1 + 2 + 80 + 7 + 5 + 23 + 78 = 342$).