Mật mã bí mật

Đề bài

Mô tả

Bạn có một chiếc hộp khoá bằng mật mã. Ổ khoá có màn hình hiển thị n chữ số và hai nút bấm, mỗi nút làm thay đổi các chữ số trên màn hình:

  • Nút thứ nhất cộng 1 vào tất cả các chữ số (chữ số 9 trở thành 0).
  • Nút thứ hai dịch tất cả các chữ số sang phải một vị trí (chữ số cuối cùng trở thành chữ số đầu tiên).

Ví dụ, nếu màn hình đang hiển thị 579 thì sau khi bấm nút thứ nhất màn hình sẽ hiển thị 680, và nếu bấm tiếp nút thứ hai thì màn hình sẽ hiển thị 068.

Ổ khoá sẽ mở khi màn hình hiển thị số nhỏ nhất có thể thu được bằng cách bấm hai nút theo một thứ tự nào đó. Khi so sánh các số, các chữ số 0 đứng đầu được bỏ qua. Hãy tìm trạng thái màn hình cần đạt được.

Lưu ý rằng màn hình luôn hiển thị đúng n chữ số, kể cả khi có các chữ số 0 đứng đầu, nên kết quả in ra cũng phải gồm đúng n chữ số.

Dữ liệu vào

  • Dòng đầu chứa một số nguyên n là số chữ số trên màn hình.
  • Dòng thứ hai chứa n chữ số là trạng thái ban đầu của màn hình.

Dữ liệu ra

In ra một dòng gồm n chữ số là trạng thái màn hình ứng với số nhỏ nhất có thể.

Ràng buộc

  • 1≤n≤1000

Ví dụ

Input Output Giải thích
4
2014
0142 Chỉ cần bấm nút thứ hai ba lần: 2014→4201→1420→0142. Số thu được là 142, nhỏ nhất trong mọi khả năng.
3
579
024 Bấm nút thứ nhất 5 lần: 579→024. Số 24 là nhỏ nhất có thể.
1
3
0 Với n=1, bấm nút thứ nhất 7 lần đưa 3 về 0.

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