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
Tác giả:
Dạng bài
Ngôn ngữ cho phép
Python, Scratch
Cho hai số tự nhiên ~A~ và ~B~ sao cho mỗi số đều chỉ gồm các chữ số đôi một khác nhau. Lần lượt lấy các chữ số của ~A~ và ~B~ ghép lại để tạo thành số ~C~ sao cho:
- Số chữ số của ~C~ bằng tổng số chữ số của ~A~ và ~B~;
- Thứ tự các chữ số trong ~A~ không đổi;
- Thứ tự các chữ số trong ~B~ không đổi.
Hãy tìm số ~C~ nhỏ nhất có thể ghép được.
Dữ liệu
- Nhập vào hai số tự nhiên ~A~ và ~B~ ~(1 ≤ A ≤ B ≤ 10^8)~, mỗi số được ghi trên một dòng.
Kết quả
- Đưa ra số ~C~ thỏa mãn đề bài.
Chấm điểm
- Nếu chương trình chạy đúng những trường hợp ~1 ≤ A ≤ B < 100~, thí sinh sẽ được ~20~ điểm;
- Nếu chương trình chạy đúng những trường hợp ~100 ≤ A ≤ B ≤ 10^4~ và các chữ số của ~A~ đôi một khác nhau với các chữ số của ~B~, thí sinh sẽ được ~20~ điểm;
- Nếu chương trình chạy đúng những trường hợp ~1 ≤ A ≤ B ≤ 10^8~, thí sinh sẽ được ~100~ điểm.
Sample Input
15
28
Sample Output
1258
Note
Có thể ghép thành các số: ~1528, 1258, 1285, 2815, 2158, 2185~. Số nhỏ nhất là ~1258~.
Sample Input
12547
2469
Sample Output
122454679
Có thể ghép thành các số khác nhau như: ~125472469~, ~124692547~, ~122469547~, ~122454679~, ~...~.
Số ~122454679~ là số nhỏ nhất thỏa mãn.
Bình luận