[Buổi 21][Xử lý chuỗi][ADV] Bài 3: Nhìn và đọc
Nhìn và đọc
Bối cảnh
Trong quá trình giảng dạy, các giảng viên của CLB lập trình Fullhouse Dev đã vô tình tạo ra một dãy số thú vị.
Yêu cầu
Dãy số thú vị đó là một dãy số bắt đầu như sau: 1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211... Để tạo ra mỗi số tiếp theo trong dãy này, bạn cần đọc số trước đó theo cách đếm số lượng chữ số liên tiếp cùng một chữ số. Ví dụ:
Số 1 được đọc là: một số 1 số tiếp theo sẽ là 11. Số 11 được đọc là: hai số 1 số tiếp theo sẽ là 21. Số 21 được đọc là: một số 2, sau đó một số 1 số tiếp theo sẽ là 1211. Số 1211 được đọc là: một số 1, một số 2, sau đó hai số 1 số tiếp theo sẽ là 111221. Số 111221 được đọc là: ba số 1, hai số 2, sau đó một số 1 số tiếp theo sẽ là 312211.
Giảng viên muốn hỏi liệu số thứ \(N\) trong dãy số sẽ là số nào?
Input
Dòng đầu tiên chứa số nguyên \(N\) \((\leq N \leq 30)\).
Output
In ra số thứ \(N\) trong dãy số.
Ràng buộc
Đề gốc không nêu ràng buộc riêng.
Ví dụ 1
Input
5
Output
111221
Ví dụ 2
Input
3
Output
21
Giải thích ví dụ
Ví dụ 1
Ví dụ 3
Input
5
Output
111221
**Giải thích:** Số thứ 5 trong dãy được tạo ra bằng cách đọc số thứ 4 "1211", và kết quả là "một số 1, một số 2, hai số 1".
Ví dụ 4
Input
3
Output
21
**Giải thích:** Số thứ 3 trong dãy được tạo ra từ số thứ 2 "11", đọc là "hai số 1", kết quả là "21".
Thông tin học tập
- Buổi: B21
- Concepts: std::string, multi-step transformation pipelines
- Giới hạn kiến thức: B01-B21
- Time limit: 1 second
- Memory limit: 20 MB
- Point: 20
Comments