Hoán vị chữ số

Đề bài

Mô tả

Cho hai số nguyên dương a và b. Bạn được phép hoán vị (đổi thứ tự) các chữ số của a để thu được một số mới. Hãy tìm số lớn nhất có thể tạo ra bằng cách hoán vị các chữ số của a sao cho số đó không vượt quá b.

Số kết quả phải có đúng số chữ số như a (nghĩa là là một hoán vị các chữ số của a), không được có chữ số 0 đứng đầu, và đề bài đảm bảo luôn tồn tại đáp án.

Dữ liệu vào

  • Dòng thứ nhất chứa số nguyên a.
  • Dòng thứ hai chứa số nguyên b.

Dữ liệu ra

In ra một số duy nhất — số lớn nhất là một hoán vị các chữ số của a và không vượt quá b.

Ràng buộc

  • 1≤a,b≤1018.
  • a và b không có chữ số 0 đứng đầu.
  • Đề bài đảm bảo luôn tồn tại đáp án hợp lệ.

Ví dụ

Input Output Giải thích
123
222
213 Các hoán vị của 123 là 123,132,213,231,312,321. Trong đó các hoán vị ≤222 là 123,132,213; giá trị lớn nhất là 213.
3921
10000
9321 Mọi hoán vị của 3921 đều là số có 4 chữ số nên đều ≤10000. Hoán vị lớn nhất là 9321.
4940
5000
4940 Các hoán vị có chữ số đầu khác 0 và ≤5000 gồm 4049,4094,4409,4490,4904,4940; giá trị lớn nhất là 4940.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0