Hoán vị chữ số

Đề bài

Mô tả

Cho hai số nguyên dương ab. 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

  • 1a,b1018.
  • ab 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 123123,132,213,231,312,321. Trong đó các hoán vị 222123,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 05000 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.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