RO2INT - Đổi số La Mã
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Người đăng:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, JavaScript, Kotlin, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift
Đề bài
Cho một chuỗi số La Mã hợp lệ, hãy đổi về dạng số thập phân của nó.
Được biết các ký hiệu trong số La Mã như sau:
I: 1V: 5X: 10L: 50C: 100D: 500M: 1000
Trong đó sẽ có một số trường hợp đặc biệt:
IV: 4IX: 9XL: 40XC: 90CD: 400CM: 900
Mẫu input & output
- Input: Gồm một chuỗi số La Mã hợp lệ.
XIII
- Output: Dạng số thập phân của chuỗi đã cho.
13
Bình luận
include <bits/stdc++.h>
using namespace std;
int gt(char c) { if (c == 'I') return 1; if (c == 'V') return 5; if (c == 'X') return 10; if (c == 'L') return 50; if (c == 'C') return 100; if (c == 'D') return 500; if (c == 'M') return 1000; return 0; }
int main() { string s; cin >> s;
}
Hint: Duyệt từ trái sang, nếu ký tự hiện tại nhỏ hơn ký tự tiếp theo → trừ đi, ngược lại cộng vào.
dùng đặt chia lấy dư rối dùng kết hợp í dễ mà
dễ mà lện hơi dài thôi
bruh, không hiểu gì luôn