Táo chuối

Xem dạng PDF

Gửi bài giải


Điểm: 0,66 (OI)
Giới hạn thời gian: 3.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
HSPC 2014
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cư dân của hai làng cạnh nhau (gọi làng ~A~ và ~B)~ không thể giải quyết tranh chấp đất đai. Khu vực tranh chấp là hình chữ nhật, bao gồm ~R \times C~ ô đất. Mỗi ô có hoặc một số cây táo hay một số cây chuối trong đó.

Một cố vấn nước ngoài được yêu cầu hòa giải tranh chấp. Ông quyết định cho một xe ủi đất đi qua khu vực này và chặt bỏ tất cả các cây trong các ô mà xe đi qua. Xe ủi đất sẽ bắt đầu ở góc trên bên trái của khu vực và luôn luôn di chuyển theo một trong ba hướng: sang phải, xuống dưới, hoặc chéo xuống dưới bên phải. Xe ủi dừng lại khi đến góc dưới bên phải.

Làng ~A~ sẽ nhận được khu đất bên dưới con đường đất, trong khi làng ~B~ sẽ nhận được khu đất bên trên nó. Lưu ý rằng ngôi làng có thể không nhận được ô đất nào. Người cố vấn nhận thấy rằng người dân làng ~A~ thích táo, còn người dân làng ~B~ thích chuối. Vì vậy, ông quyết định lựa chọn con đường đất sao cho số lượng cây táo bên dưới con đường và những số lượng cây chuối bên trên con đường lớn nhất có thể. Viết một chương trình tính toán tổng số lượng cực đại này.

Input

Dòng đầu tiên ghi số nguyên ~R~ và ~C~ ~(2 \leq R~, ~C \leq 1500)~, kích thước của khu vực. Mỗi dòng trong ~N~ dòng tiếp theo chứa ~C~ mô tả về các ô đất. Mỗi mô tả bao gồm chữ 'A' (táo) hoặc 'B' (chuối) và số cây tương ứng trong một ô. Mỗi ô chứa từ ~1~ đến ~99~ cây.

Output

In ra tổng số lượng cây lớn nhất như mô tả ở trên.

Sample Input

4 3
B2 B3 B5
A3 B1 A1
A2 A4 B1
B1 B3 A3

Sample Output

17

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.