Trò chơi lớn (THTB Sơn Trà, Đà Nẵng 2023)
Xem PDF
Điểm:
900
Thời gian:
1.0s
Bộ nhớ:
1G
Input:
TROCHOI.INP
Output:
TROCHOI.OUT
Cho đoạn mật mã \(S\) chỉ gồm các chữ cái trong bảng chữ cái Latin in hoa từ ‘A’ đến ‘Z’, và một số nguyên dương \(X\). Tiến hành giải mã như sau:
Định nghĩa:
- Nếu \(k\) là số chữ số của \(X\) thì: \(X[i]\) là chữ số thứ \(i \bmod k\) tính từ bên trái của \(X\), \(X\) bắt đầu đánh số từ 0.
Ví dụ: \(X = 123 ⇒ X[0] = 1,X[1] = 2,X[2] = 3,X[3] = 1,X[4] = 2,…\)
- Phép tịnh tiến một chữ cái là thay nó bằng chữ cái liền sau trong bảng chữ cái Latin 'A'.. 'Z' theo vòng tròn (sau 'A' là 'B', sau ‘B’ là ‘C’, ..., sau 'Z' là 'A'). Phép tịnh tiến lên \(X\ (1≤ X≤ 9)\) là lặp lại thao tác trên \(X\) lần. Ví dụ:
- 'A' dịch lên 1 thành 'B',
- 'A' dịch lên 3 thành 'D',
- 'Z' dịch lên 1 thành 'A',
- 'Y' dịch lên 4 thành 'C'
- Phép tịnh tiến xâu S theo X như sau: (n là độ dài xâu S)
- \(S[0]\) dịch lên một lượng \(X[0]\)
- \(S[1]\) dịch lên một lượng \(X[1]\)
- \(S[2]\) dịch lên một lượng \(X[2]\)
- ...
- \(S[n-1]\) dịch lên một lượng \(X[n-1]\)
Ví dụ: \(S =\) "JPBNH" tịnh tiến theo \(X = 21\) sẽ thành "LQDOJ".
Yêu cầu: Hãy tịnh tiến xâu \(S\) theo \(X\) như trên.
Dữ liệu: Nhập từ file TROCHOI.INP:
- Dòng đầu tiền là một xâu kí tự \(S\) có tối đa \(10^6\) ký tự
- Dòng thứ hai là một số nguyên dương \(X\ (1 ≤ X ≤ 10^9)\)
Kết quả: Ghi ra file TROCHOI.OUT:
- Một xâu kí tự là kết quả sau khi giải mã.
Scoring
- 50% số test có \(1≤X≤9\)
- 50% số test không giới hạn gì thêm
Test 1
Input
JPBNH
21
Output
LQDOJ
Test 2
Input
ABCXYZ
32
Output
DDFZBB
Kỳ thi:
- Tin học trẻ B - Sơn Trà, Đà Nẵng 2023 (24 Tháng tư, 2024)
Bình luận