[Buổi 21][Xử lý chuỗi][RDD] Bài 7: Mã hóa tin nhắn


LÀM BÀI

Points: 15
Time limit: 1.0s
Memory limit: 20M

Author:
Problem types
Allowed languages
C++

Mã hóa tin nhắn

Bối cảnh

An và Bình là đôi bạn thân, thường sử dụng điện thoại hoặc email để nhắn tin cho nhau. Vì không muốn người khác đọc được nội dung tin nhắn nên họ đã mã hóa các tin nhắn trước khi gửi đi theo quy tắc: trong tin nhắn, họ đã thay mỗi chữ cái bằng chữ cái đằng sau nó \(K\) vị trí trong bảng chữ cái (tiếng Anh). Việc tìm kiếm và thay thế được tiến hành theo quy tắc vòng tròn, nghĩa là sau ký tự A là ký tự B, sau ký tự B là ký tự C,... sau ký tự Y là ký tự Z, sau ký tự Z là ký tự A. Các ký tự ngoài bảng chữ cái vẫn được giữ nguyên.

Yêu cầu

Yêu cầu: Cho trước một tin nhắn và một số nguyên \(K\). Hãy xác định tin nhắn sau khi đã được mã hóa theo quy tắc trên.

Input

Dòng đầu tiên chứa số nguyên \(K\) \((1\leq K\leq 20)\).

Dòng thứ hai chứa xâu ký tự \(S\), là tin nhắn trước khi được mã hóa (độ dài xâu \(S\) không quá \(1000\) ký tự - không phân biệt chữ hoa hay thường).

Output

Một dòng duy nhất là xâu tin nhắn sau khi đã được mã hóa (toàn bộ tin nhắn được viết bằng chữ in hoa).

Ràng buộc

Đề gốc không nêu ràng buộc riêng.

Ví dụ 1

Input

2
TIN NHAN XYZ

Output

VKP PJCP ZAB

Giải thích ví dụ

  • Ví dụ: Tin nhắn là TIN NHAN XYZ với K = 2

    • Giải thích: Mỗi chữ cái được thay thế bằng chữ cái đứng sau 2 vị trí, kết quả là VKP PJCP ZAB.
  • Ví dụ: Tin nhắn là HELLO với K = 3

    • Giải thích: Chữ cái H trở thành K, E thành H, và tiếp tục, kết quả là KHOOR.

Thông tin học tập

  • Buổi: B21
  • Concepts: std::string, tokenization, validation, processing pipelines
  • Giới hạn kiến thức: B01-B21
  • Time limit: 1 second
  • Memory limit: 20 MB
  • Point: 15

Comments

There are no comments at the moment.

Zalo