trang chủ / bài tập / repdigit

Thay chữ số

Đề bài

Mô tả

Cho một số nguyên a gồm n chữ số (không có chữ số 0 ở đầu). Bạn cũng được cho một dãy chữ số s độ dài m.

Với mỗi chữ số trong s, bạn có thể chọn một vị trí bất kỳ trong a và thay chữ số ở vị trí đó bằng chữ số này của s. Mỗi chữ số của s được dùng nhiều nhất một lần, và bạn không bắt buộc phải dùng hết tất cả các chữ số của s.

Hãy thực hiện các phép thay thế sao cho số a thu được có giá trị lớn nhất.

Dữ liệu vào

  • Dòng thứ nhất chứa số nguyên dương a.
  • Dòng thứ hai chứa dãy chữ số s (các chữ số viết liền nhau, không có dấu phân cách).

Dữ liệu ra

  • In ra giá trị lớn nhất có thể thu được từ a sau các phép thay thế. Số in ra không được có chữ số 0 ở đầu.

Ràng buộc

  • 1n105 (độ dài của a).
  • 1m105 (độ dài của s).
  • a không chứa chữ số 0 ở đầu.

Ví dụ

Input Output Giải thích
1024
010
1124 Dùng chữ số 1 của s thay cho chữ số 0 ở vị trí thứ hai của a, được 1124. Các chữ số 0 còn lại không giúp tăng giá trị.
987
1234567
987 Không có chữ số nào trong s lớn hơn chữ số tương ứng ở vị trí đầu của a để làm số lớn hơn, nên giữ nguyên 987.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0