Mô tả
Tại Cục lưu trữ gia phả ở Huế, hàng trăm tờ sắc phong cổ vẫn ghi năm ban hành bằng hệ thống số La Mã (ví dụ MCMXXV ứng với năm 1925). Để số hóa cơ sở dữ liệu di tích, bạn được giao viết một công cụ nhỏ: nhận vào một chuỗi ký tự La Mã hợp lệ và trả về số thập phân tương ứng.
Quy tắc đọc số La Mã rất tự nhiên: mỗi ký tự mang một giá trị cố định (I=1, V=5, X=10, L=50, C=100, D=500, M=1000). Khi đi từ trái sang phải, nếu giá trị của ký tự hiện tại nhỏ hơn ký tự kế tiếp ngay sau nó, ta trừ giá trị hiện tại; trong mọi trường hợp còn lại thì cộng dồn giá trị đó vào kết quả. Lưu ý rằng chuỗi đầu vào luôn là chữ hoa và hoàn toàn chuẩn xác theo luật La Mã.
Đầu vào
- Một chuỗi
sgồm duy nhất các ký tự hoaI,V,X,L,C,D,M.
Đầu ra
- Trả về một số nguyên dương là giá trị thập phân tương ứng của chuỗi
s.
Ràng buộc
1 <= độ_dài(s) <= 15.1 <= giá_trị_thập_phân(s) <= 3999.- Chuỗi
sluôn là một số La Mã hợp lệ.
Ví dụ
Ví dụ 1:
- Đầu vào:
"MCMXCIV" - Đầu ra:
1994 - Giải thích:
M(1000): ký tự kế tiếpC(100) nhỏ hơn, nên cộng:1000.C(100): ký tự kế tiếpM(1000) lớn hơn, nên trừ:1000 - 100 = 900.M(1000): không còn ký tự, cộng:900 + 1000 = 1900.X(10): kế tiếp làC(100) lớn hơn, trừ: .