Biến đổi chuỗi (THTA Vòng Sơ loại Toàn quốc 2025 - Lần 3)

Xem PDF



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

Cho một chuỗi chỉ gồm các chữ cái thường, và một số tự nhiên \(k\).

Bạn sẽ thực hiện \(k\) bước biến đổi. Ở bước thứ \(i\), ta:

  • Xét từng vị trí trong chuỗi (bắt đầu từ 1).
  • Nếu vị trí đó là ước của \(i\) (tức \(i\) chia hết cho vị trí), thì ký tự tại đó sẽ được thay bằng chữ cái tương ứng với thứ tự \(i\) trong bảng chữ cái:
  • Nếu \(i = 1\) → thay bằng 'a',
  • \(i = 2\)'b',
  • ...,
  • \(i = 26\)'z',
  • \(i = 27\)'a' (quay vòng lại từ đầu), v.v.

Yêu cầu

Thực hiện lần lượt các bước biến đổi từ 1 đến \(k\), rồi in ra chuỗi cuối cùng thu được.

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

Gồm 2 dòng:

  • Dòng 1: Số tự nhiên \(k\) (\(1 \leq k \leq 10^{15}\)) — số bước biến đổi.
  • Dòng 2: Chuỗi \(s\) gồm các chữ cái thường, có độ dài không quá \(10^5\).

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

  • Một dòng duy nhất là chuỗi sau khi thực hiện đầy đủ \(k\) bước biến đổi.

Ví dụ

Dữ liệu Kết quả
5
vjozu
eddcdeu
4
abc
ddc
30
abcdefghijklmnopqrstuvwxyzabcd
dddbddbxadvxzbdpqrstuvwxyzabcd

Giải thích

Ví dụ 1:
Chuỗi ban đầu: vjozu

  • Bước 1: i = 1 → vị trí 1 là ước của 1 → thay bằng 'a'ajiozu
  • Bước 2: i = 2 → vị trí 1, 2 là ước của 2 → thay bằng 'b'bbiozu
  • Bước 3: i = 3 → vị trí 1, 3 là ước của 3 → thay bằng 'c'cbcozu
  • Bước 4: i = 4 → vị trí 1, 2, 4 là ước của 4 → thay bằng 'd'ddcdzu
  • Bước 5: i = 5 → vị trí 1, 5 là ước của 5 → thay bằng 'e'eddceu

Ví dụ 2:
Chuỗi ban đầu: abc

  • Bước 1: chỉ vị trí 1 là ước của 1 → thay bằng 'a'abc
  • Bước 2: vị trí 1 và 2 là ước của 2 → bbc
  • Bước 3: vị trí 1 và 3 là ước của 3 → cbc
  • Bước 4: vị trí 1 và 2 và 4 không tồn tại → chỉ thay vị trí 1 và 2 → ddc

Ràng buộc

  • Subtask 1 (50% số điểm): \(1 \leq k \leq 100\), độ dài chuỗi \(\leq 100\)
  • Subtask 2 (50% số điểm): không có giới hạn thêm

Bình luận

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

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

Kỳ thi: