Mô tả
Ông Ba là người trông coi đình làng ở một xã thuộc đồng bằng Bắc Bộ. Hôm nay tổ chức thi công trùng tu, ông được phân công kiểm tra lại mốc năm xây dựng trên tấm bia đá cũ. Trớ tr thay, bia đã bong tróc rêu phong, chữ khắc chỉ còn là một chuỗi số La Mã lộn xộn: khi thì chữ hoa, khi thì chữ thường, chỗ lại lẫn cả khoảng trắng thừa.
Ông Ba ghi lại nguyên văn chuỗi ký tự nhìn thấy được, nhờ bạn viết chương trình làm sạch chuỗi (bỏ khoảng trắng, đưa về chữ hoa) rồi dịch sang số thập phân để xác định năm xây đình. Quy tắc số La Mã như sau: I=1, V=5, X=10, L=50, C=100, D=500, M=1000. Khi một ký tự nhỏ hơn đứng ngay trước ký tự lớn hơn, lấy giá trị lớn trừ đi giá trị nhỏ; ngược lại thì cộng dồn giá trị. Dữ liệu đầu vào luôn là một chuỗi số La Mã hợp lệ sau khi làm sạch.
Đầu vào
Một chuỗi s gồm các ký tự chữ cái La Mã (chữ hoa hoặc chữ thường) và khoảng trắng, độ dài từ 1 đến 15 ký tự.
Đầu ra
Trả về một số nguyên dương là năm tương ứng với chuỗi số La Mã sau khi làm sạch.
Ràng buộc
- 1 ≤ độ dài
s≤ 15. - Chuỗi sau khi làm sạch là số La Mã hợp lệ, giá trị nằm trong khoảng từ 1 đến 3999.
Ví dụ
Ví dụ 1
- Đầu vào:
" mCm xC " - Đầu ra:
1990 - Giải thích: Bỏ khoảng trắng và viết hoa được
MCMXC. Duyệt từng cặp:M(1000) đứng trướcC(100) → cộng 1000;Cnhỏ hơnMkế tiếp → trừ 100;Mlớn hơnXkế tiếp → cộng 1000;Xnhỏ hơnCcuối → trừ 10;Ccuối cùng → cộng 100. Tổng: 1000 − 100 + 1000 − 10 + 100 = 1990.
Ví dụ 2
- Đầu vào:
" xvii " - Đầu ra:
17 - Giải thích: Làm sạch thành
XVII. Các ký tự giảm dần nên chỉ cần cộng dồn: 10 + 5 + 1 + 1 = 17.