Đảo đoạn (THTA Vòng Chung kết Toàn quốc 2025)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Python, Scratch
Điểm: 1400 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một số tự nhiên \(N\) được biểu diễn bằng một dãy chữ số liên tiếp (không có chữ số \(0\) ở đầu).

Hãy chọn đúng một đoạn liên tiếp trong dãy chữ số này và đảo ngược thứ tự các chữ số trong đoạn đó.
Mục tiêu là tạo ra số lớn nhất có thể.

Nếu không thể tạo ra số lớn hơn, hãy in ra chính số ban đầu.

Yêu cầu

Tìm số lớn nhất có thể thu được sau khi thực hiện đúng một lần đảo một đoạn liên tiếp trong dãy chữ số của \(N\).

Dữ liệu nhập vào từ bàn phím

  • Một dòng duy nhất chứa số tự nhiên \(N\) (có không quá \(5000\) chữ số và không có chữ số \(0\) ở đầu).

Kết quả ghi ra màn hình

  • Một dòng duy nhất là số lớn nhất thu được sau khi đảo đúng một đoạn liên tiếp.

Ví dụ

Dữ liệu Kết quả Giải thích
23489459129 98432459129 Đảo đoạn từ chữ số thứ 1 đến thứ 5: 23489 → 98432, thu được số lớn nhất.
3124 4213 Đảo đoạn từ chữ số thứ 1 đến thứ 4: 3124 → 4213, thu được số lớn nhất.
92865 98265 Đảo đoạn từ chữ số thứ 2 đến thứ 3: 28 → 82, thu được số lớn nhất.

Ràng buộc

  • Subtask 1 (\(40%\) số điểm): \(N\) có không quá \(10\) chữ số.
  • Subtask 2 (\(30%\) số điểm): \(N\) có không quá \(100\) chữ số.
  • Subtask 3 (\(30%\) số điểm): \(N\) có không quá \(5000\) chữ số.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.