Đưa ra một đầu vào của một danh sách các số theo định dạng của một chuỗi số nguyên tăng tốc, xuất ra chuỗi đầy đủ.
Tốc độ tăng định dạng chuỗi số nguyên hoạt động bằng cách tìm mọi số n có ít chữ số hơn số trước nó, m . Với d là số chữ số trong n , chữ số d cuối cùng của m được thay thế bằng tất cả các chữ số của n . Đây là một ví dụ đầu vào:
123 45 6 7 89 200
Áp dụng quy tắc thay thế, trước tiên chúng ta biến 45 thành 145 vì 45 <123:
123 145 6 7 89 200
Liên tục áp dụng quy tắc tương tự, điều này trở thành:
123 145 146 7 89 200
123 145 146 147 89 200
123 145 146 147 189 200
Trình tự hiện được sắp xếp (không có số nào áp dụng quy tắc này), vì vậy đây là đầu ra cuối cùng.
Bạn có thể cho rằng
ký hiệu tốc ký luôn được sử dụng khi có thể. Ví dụ, đầu vào sẽ
12 3, không bao giờ12 13.số sẽ không bao giờ giảm trong khi vẫn giữ nguyên số chữ số. Ví dụ, đầu vào sẽ không bao giờ
333 222.áp dụng quy tắc tốc ký sẽ không bao giờ dẫn đến một số vẫn nhỏ hơn số trước đó trong chuỗi. Ví dụ, đầu vào sẽ không bao giờ
123 12.số sẽ luôn là số nguyên dương và không bao giờ chứa số 0 đứng đầu (nếu sử dụng định dạng chuỗi).
chuỗi đầy đủ, mở rộng sẽ không bao giờ chứa các số trùng lặp. (Tuy nhiên, trình tự tốc ký có thể; ví dụ
10 1 20 1->10 11 20 21.)sẽ có ít nhất một số trong đầu vào.
Đầu vào và đầu ra có thể là danh sách / mảng số / chuỗi hoặc một chuỗi với các phần tử được phân tách bằng bất kỳ chữ số nào.
Vì đây là môn đánh gôn , mã ngắn nhất tính bằng byte sẽ thắng.
Các trường hợp thử nghiệm, với đầu vào và đầu ra trên các dòng xen kẽ:
1 2 3 10 1 2 20 5 100 200 10 3 5 26 9 99 999 9999
1 2 3 10 11 12 20 25 100 200 210 213 215 226 229 299 999 9999
223 1184 334 441 5 927 2073 589 3022 82 390 5 9
223 1184 1334 1441 1445 1927 2073 2589 3022 3082 3390 3395 3399
5 10 5 20 5 30 5 40 5 50 5
5 10 15 20 25 30 35 40 45 50 55
7 8 9 70 80 90 700 800 900 7000 8000 9000
7 8 9 70 80 90 700 800 900 7000 8000 9000
42
42