[Buổi 21][Xử lý chuỗi][ADV] Bài 3: Nhìn và đọc


LÀM BÀI

Points: 20
Time limit: 1.0s
Memory limit: 20M

Author:
Problem types
Allowed languages
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

There are no comments at the moment.

Zalo