Thi thử TS10 Vĩnh Phúc 2026 - Số mềm

Xem dạng PDF

Gửi bài giải

Điểm: 5,00 (OI)
Giới hạn thời gian: 0.5s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

An có hứng thú với các số nguyên dương có tính chất: trong biểu diễn thập phân của số, hai chữ số liền kề chênh lệch không quá 1. An gọi các số như vậy là các số mềm.

Với một số mềm có ~n+1~ chữ số, An mã hoá nó bằng bộ đôi: chữ số bắt đầu ~d~ và xâu ~S~ độ dài ~n~ chỉ gồm các ký tự ~+~, ~-~, ~=~. Khi đó số mềm được xác định như sau:

  • Chữ số đầu tiên là ~d~.

  • Xét lần lượt các ký tự trong xâu:

    • Nếu là ~+~, chữ số tiếp theo lớn hơn chữ số trước đó 1 đơn vị.

    • Nếu là ~-~, chữ số tiếp theo nhỏ hơn chữ số trước đó 1 đơn vị.

    • Nếu là ~=~, chữ số tiếp theo bằng chữ số trước đó.

Yêu cầu: An đã quên mất ~d~, chỉ nhớ xâu ~S~. Hãy giúp An tìm số mềm nhỏ nhất có xâu mã hoá là ~S~ hoặc chỉ ra rằng An nhớ nhầm xâu ~S~.

Input

Một dòng duy nhất chứa xâu ~S~ độ dài nhỏ hơn ~100~, chỉ gồm các ký tự: ~+~, ~-~, ~=~.

Output

In ra số mềm tìm được (các chữ số liền nhau, không có khoảng trắng, chữ số đầu tiên khác 0). Nếu không tồn tại số thỏa mãn (An nhớ nhầm xâu mã hoá), in ra ~0~.

Scoring

Subtask Điểm Ràng buộc
1 ~50\%~ Xâu ~S~ có độ dài không vượt quá 6
2 ~50\%~ Không có ràng buộc bổ sung

Sample Input 1

+--+=+

Sample Output 1

1210112

Sample Input 2

+++++++++

Sample Output 2

0

Notes

Trong ví dụ 1: Bắt đầu từ 1, ~+ \rightarrow 2; - \rightarrow 1; - \rightarrow 0; + \rightarrow 1; = \rightarrow 1; + \rightarrow 2~. Số thu được là ~1210112~.

Trong ví dụ 2: Dù bắt đầu từ chữ số nào cũng sẽ vượt quá ~9~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.